Почему не используется составной индекс?

yeaahhh

Старатель
Регистрация
8 Май 2008
Сообщения
278
Реакции
11
Друзья, всем привет.
Изучаю тему оптимизации mysql, в частности работу с индексами..
Подскажите, плз:
2 поля:
date - datetime
kreads - int(11)
есть такой запрос:
Код:
SELECT `id`, `date`, `title`, `kreads` FROM таблица WHERE date < '".$nowdate."' ORDER by `kreads` DESC LIMIT 8
создал такой индекс:
Код:
CREATE INDEX date_kreads ON таблица(date, kreads);

Вот что выдает через EXPLANE:
Код:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE таблица ALL date_kreads,date NULL NULL NULL 102 Using where; Using filesort

Можно ли как-то заставить использовать индекс?
Заранее спасибо за помощь..
 
Потому что фильтруешь ты по одному полю, а индекс хочешь составной использовать. То что у тебя в запросе оба поля - не спасает, та как ORDER работает уже после SELECT, а WHERE идет сразу после FROM / JOIN операций.

Можешь попробовать добавить FORCE INDEX, но думаю mysql его все равно проигнорирует. Так что создавай отдельно индекс на date.
 
Назад
Сверху