Оптимизатор на основе затрат имеет свои проблемы.Есть ошибки округления, которые могут оказать значительное влияние на принимаемые решения.Это одна из причин, почему SQL Plan Stability, представленная в 11g, так хороша.Забудьте о 10g, если можете, или подготовьтесь к длительным сеансам отладки.
При первом использовании план создается на основе текущей статистики и выполняется.Если SQL повторяется, SQL и план сохраняются в базовой линии.В окне технического обслуживания оцениваются самые дорогие планы, и во многих случаях может быть предоставлен лучший план.Это возможно, потому что во время выполнения оптимизатор ограничен во времени, которое отводится на поиск плана.В окне обслуживания можно найти гораздо больше времени, чтобы найти лучший план.
В 11g просмотр также фиксирован, и один SQL теперь может иметь несколько планов, основываясь на значениях переменных связывания.Стоимость запроса зависит от многих факторов, где IO является очень важным фактором.Как заполнены ваши таблицы и где находятся отметки уровня воды?Стол, который постоянно заполняется и опорожняется, может иметь верхний водяной знак далеко ...
В оптимизаторе много ошибок, много опций, управляемых скрытыми параметрами.Вы можете попытаться использовать их, чтобы настроить поведение.Обновление до 11g может быть намного разумнее, поскольку оно решает множество проблем с производительностью для многих приложений.