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




MySQL.RU - Webboard



Вернуться
Помогите оптимизировать запрос (licius) 25/07/2007 - 20:35:47
      Re: Помогите оптимизировать запрос (xeim) 26/07/2007 - 09:40:27
      Re: Помогите оптимизировать запрос (licius) 26/07/2007 - 12:43:50
      Re: Помогите оптимизировать запрос (licius) 02/08/2007 - 16:48:01

> Original message text:
> From: licius - 25/07/2007 - 20:35:47
> Subject:Помогите оптимизировать запрос
> -----------------
> есть классич. таблица дерева элементов id,parent_id ...
> также есть одно поле simple(tinyint(1)), нужно вытащить всё древо
> и посчитать у каждого элемента сколько у него дочерних элементов с simple=1
>
> mysql 4.0.21, таблица из 1500 записей, моим запросом выполняется за 19 сек.
>
> SELECT t1.*, COUNT(t2.id) as csimple
> FROM my_table t1
> LEFT JOIN my_table t2 ON t2.parent_id = t1.id AND t2.simple = 1
> GROUP BY t1.id
>
>


From: licius - 02/08/2007 - 16:48:01
Subject:Помогите оптимизировать запрос
-----------------
сейчас там стало 5374 записей, запрос выполняется за 1.06 сек
возможно ли как-то ещё оптимизировать?

EXPLAIN SELECT t1.*, COUNT(t2.id) as csimple
FROM table t1
LEFT JOIN table t2 ON t2.parent_id = t1.id AND t2.simple = 1
GROUP BY t1.id
ORDER BY t1.cleft

результат

"table";"type";possible_keys;key;key_len;ref;rows;"Extra"
"t1";"ALL";NULL;NULL;NULL;NULL;5374;"Using temporary; Using filesort"
"t2";"ref";"idx_parent_id,idx_simple";"idx_parent_id";5;"t1.id";10;""



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

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

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



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