MySQL & SUBDATE – проблемы оптимизатора?

Опубликовал mvs3d | Дата 31.03.2008 – 04:55 |

Сейчас обнаружил удивительную вещь, – если в условии запроса написать:

b.day >= SUBDATE(sysdate(),INTERVAL 31 DAY)

то MySQL почему-то не использует индекс, который создан по полю day, а если в текст запроса поместить константу:

b.day >= ‘2008-03-30′

тогда индекс используется!

Чудеса какие-то, вообще я ожидал что он только 1 раз вычислит результат функции SUBDATE и будет его использовать как константу, но не тут то было.. почему-то.

Вывод: используем константы в запросах, не умничаем знанием встроенных функций.

PS Версия MySQL 5.0.42

Оставить комментарий или два

Об авторе

Меня зовут Владимир. Я живу в России, в г.Тольятти Самарской области. C 2004 года активно занимаюсь Web-разработками. Интересуюсь развитием сервисов Сети, технологиями создания и продвижения Интернет-ресурсов, компьютерными железками.. и не только ;)

Подпишись на обновления!

 RSS-канал / Email-рассылка
Поиск :