Во многих случаях мы недовольны решениями, которые принимает оптимизатор Oracle на основе плана выполнения запросов. Используя подсказки, непростые преобразования запросов, реорганизацию индекса и параметры экземпляров, мы затем пытаемся убедить его сделать то, что, по нашему мнению, имеет больше смысла. Это очень сильно влияет на работу в темноте, и результаты могут сильно различаться в зависимости от серверов разработки, промежуточных и производственных серверов (независимо от того, как сильно мы пытаемся синхронизировать статистику и тому подобное).
Есть ли способ получить диагностический вывод с сервера Oracle, чтобы проиллюстрировать, какие альтернативы рассматривал CBO и почему они были отброшены?
Я имею в виду такую функцию, как EXPLAIN PLAN, за исключением того, что она перечисляет все возможные (или, по крайней мере, многие) планы выполнения и связанные с ними расходы.