![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sanich_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
У меня такая проблема:
Есть рубрики, есть объявления принадлежащие рубрикам. т.е. 2 таблицы Нужно оперативно получать информацию о количестве обяъвлений в каждой рубрике. Сначала решил что поле (COUNT_) в таблице рубрик (для хранения информации о количестве) нет необходимости хранить, лучше запросом вычислять,- это избавляет от необходимости пересчитывать каждый раз объявления (при добавлении/удалении) Запросик простой
План запроса чуть ниже Сначала летал - 0,001s, когда объявлений было мало - порядка 100 записей, и рубрик было где то 32. Сейчас рубрик 258, объявлений 4000, запрос выполняется долго 0,10s и я подозреваю что это время будет расти с количесвом объявлений. Как же лучше все таки сделать, хранить отдельное поле о количестве? Или что то с запросом не так? Как в этом форуме вычислается количество тем в каждой ветке? Присоединённый файл ( Кол-во скачиваний: 3 )
Untitled_1___________.jpg 30,06 Kb |
|||
|
||||
| solenko |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
sanich_, обычно join быстрее вложенных запросов
Хотя я бы хранил количество для каждой. Операция всставки/удаления объявлений выполняются намного легче и запросы намного
Выполнить не сложно. Насколько я знаю, в высоко нагруженных системах, такой сбор статистики делается переодически -- запуск по крону скрипта, который подсчитывает количество и обновляет поле count_ Это сообщение отредактировал(а) solenko - 5.3.2008, 14:07 -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
| sanich_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
не знаю как join работает быстре (возможно дело в группировке)
ваш запрос
Результат 0,359s мой запрос
Результат 0,094s |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
sanich_,
1) Зачем джойнить таблицу categ? 2) Можно увидеть структуру таблиц и EXPLAIN самого первого запроса? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |