Почему такая огромная разница в производительности между этими двумя запросами?
-- (89 seconds)
SELECT max(mydate) FROM mytable WHERE eqpid = 'ABCDEFG'
AND mydate < sysdate - 5
против
-- (0.6 seconds)
SELECT max(mydate) FROM mytable WHERE eqpid = 'ABCDEFG'
AND mydate < TO_DATE('05/27/2011 03:13:00', 'MM/DD/YYYY HH24:MI:SS') -- 5 days ago
Независимо от индексов кажется, что и to_date, и sysdate просто возвращаютсянекоторое значение даты ".
Примечания: для этой таблицы существует составной индекс, включающий eqpid и 2 других столбца.Индекс также существует для mydate.Оба б-дерева.В нем около 29 миллионов строк.
Почему оптимизатор выбрал для них такой явно иной (и в одном случае ужасный) план?