>= now()
вопрос такой: почему explain может показывать, что из индекса задействовано только 1 поле? ведь у меня в запросе два поля из индекса есть
т.е. просто запрос - показывает индекс и 1 поле (+using where)
запрос с force index - тот же самый индекс, но уже два поля(+using condition)
причём по времени запросы выполняются одинаково, т.е. по ощущениям индекс по двум полям всё-таки сработал, а не по одному
а из-за этого проблема вылезает: вместо нужного индекса используется какой-то другой, который тоже содержит в себе поле field
а из-за этого и запрос дольше выполняться начинает
если сделать ignore index по левому индексу, то тогда всё хорошо по скорости становится (но не хорошо по плану выполнения)
а он точно использует только первую часть индекса? ken_len разную показывает в explain?
Обсуждают сегодня