MySQL & SUBDATE – проблемы оптимизатора?
Сейчас обнаружил удивительную вещь, – если в условии запроса написать:
b.day >= SUBDATE(sysdate(),INTERVAL 31 DAY)
то MySQL почему-то не использует индекс, который создан по полю day, а если в текст запроса поместить константу:
b.day >= ‘2008-03-30′
тогда индекс используется!
Чудеса какие-то, вообще я ожидал что он только 1 раз вычислит результат функции SUBDATE и будет его использовать как константу, но не тут то было.. почему-то.
Вывод: используем константы в запросах, не умничаем знанием встроенных функций.
PS Версия MySQL 5.0.42

Меня зовут Владимир. Я живу в России, в 