Мой личный опыт показывает, что с Oracle 10g / 11g вы вряд ли сможете улучшить любой запрос с подсказками. Чаще всего они оказываются хуже, чем вы считаете оптимальным . CBO действительно значительно улучшился.
Все еще существуют некоторые (очень отдаленные) ограничения для средств преобразования запросов, особенно с довольно сложными конструкциями OUTER JOIN
, поскольку внутренне синтаксис ANSI по-прежнему отображается на некоторые архаичные конструкции Oracle, включающие оператор (+)
. Кроме этого, и других очень отдаленных случаев, я не думаю, что подсказки больше необходимы.
Вы можете настроиться намного лучше, переписав некоторый SQL или добавив ограничения / индексы. Конечно, это справедливо только в том случае, если ваши статистические данные и гистограммы верны, актуальны и разумны, как правильно заметил Скаффман