Ответ
Misha v.3 21.05.2009 17:04
- не заставляйте MySQL гадать что и как преобразовывать, указывайте значения првильно: htlD>='3' => htlD>=3 и т.д.
- используетй составные индексы (прочитайте про них. раз пять минимум, включая про их оптимизацию). на первых местах указывайте столбцы, учавствующие в запросах и имеющие большой значение cardinality. первый кандидат на помещение на первое место в индексе столбец, который фигурирует в поиске по диапазону (D, htlDб берите с большим значением).
- если в перечне диапазонов фигурируют все существующие значения -- не указывайте их.
но вообще, что вы хотите от данного запроса, который достаёт почти 390 тысяч записей (то, что потом что-то вы отсекаете -- неважно. условия плохо фильтруют записи)? никогда он не будет быстро работать.