[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Индекс с WHERE + GROUP
inpost
Собственно запутался в индексах. Вот запрос простой:
"SELECT `id_parent` FROM `dat_photo` WHERE `photo` IN ('".$temp[$v]."','".$temp[$end2[$k]]."') GROUP BY `id_parent`"

Для группировки необходим ли индекс? То есть тут: photo + id_parent , или только photo ?



Спустя 44 минуты, 1 секунда (11.10.2012 - 22:38) Oyeme написал(а):
Если бы у Вас в запросе группировка происходила бы по двум полям или больше,то стоило бы поставить index на первый префикс группировки.

Все индексы хранятся в виде BTREE деревьев,точнее ссылки на данные чтобы быстрее получить доступ к ним.После чего происходит группировка,для этого используются временные таблицы.

Спустя 18 минут, 3 секунды (11.10.2012 - 22:56) inpost написал(а):
Oyeme
Я не понял.

Спустя 8 часов, 57 минут, 10 секунд (12.10.2012 - 07:53) Michael написал(а):
желателен и по id_parent, особенно если эти выборки велики.

Спустя 57 минут, 8 секунд (12.10.2012 - 08:51) Oyeme написал(а):
Цитата (inpost @ 11.10.2012 - 19:56)
Oyeme
Я не понял.

Например GROUP BY id_parent,one_more_group

В этом случаи можно index ставить id_parent


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.