Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
какой подход лучше использовать? (Nick) 04/03/2004 - 12:42:28
      Re: какой подход лучше использовать? (dEmon) 05/03/2004 - 14:22:48
      Re: какой подход лучше использовать? (Sergey) 06/03/2004 - 08:03:56

> Original message text:
> From: Nick - 04/03/2004 - 12:42:28
> Subject:какой подход лучше использовать?
> -----------------
> Есть запрос, который подсчитывает количество записей в рубриках сайта:
> SELECT tree_id,tree_category,tree_pid,tree_img,tree_tpl,COUNT(bbs_id) FROM trees USE INDEX(PRIMARY,tree_level) LEFT JOIN bbs USE INDEX(bbs) ON (tree_id=bbs_cid) GROUP BY tree_id ORDER BY tree_level,tree_id
>
> А если попробовать просто вывести рубрики и в цикле подсчитать количество записей в них:
> SELECT tree_id,tree_category,tree_pid,tree_img,tree_tpl FROM trees USE INDEX(PRIMARY,tree_level) ORDER BY tree_level,tree_id
> Далее при построении дерева в цикле формируем запросы и считаем записи:
> SELECT COUNT(*) FROM bbs USE INDEX(bbs) WHERE bbs_cid=4
> SELECT COUNT(*) FROM bbs USE INDEX(bbs) WHERE bbs_cid=5
> ...
> Как вы считаете, какой вариант запросов будет работать быстрее???
> Объем таблицы trees - 150 элементов.
> Объем таблицы bss - 200000 элементов.
>


From: Sergey - 06/03/2004 - 08:03:56
Subject:какой подход лучше использовать?
-----------------
отказ от цикла всегда предпочтительней
ты больше всего потеряешь на нем
а чтоб запрос работал быстро нужно чтобы правильно использовались
ключи, похоже у тебя с ними все в порядке
не забудь, что ключи эффективны если в соединении используются
поля ОДНОГО ТИПА!


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
13348



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |