DBMS_XPLAN.DISPLAY_CURSOR против объяснения плана, если не используется подсказка collect_plan_statistics

Просто запрашивая некоторые разъяснения о разнице между 2. Из того, что я понимаю, EXPLAIN PLAN дает вамтеоретический план выполнения, в то время как DBMS_XPLAN.DISPLAY_CURSOR дает вамфактический план выполнения со статистикой выполнения для выписки.

EXPLAIN PLAN сохраняет эти данные в PLAN_TABLE, в то время как DBMS_XPLAN использует представления V $ SQL_PLAN, V $ SQL_PLAN_STATISTICS и V $ SQL_PLAN_STATISTICS_ALL для своей информации.

Однако для того, чтобы DISPLAY_CURSOR собирал фактическую статистику времени выполнения для этого состояния, необходимо установить/*+ gather_plan_statistics */ намек. В противном случае заполняется только V $ SQL_PLAN, который даст вам только план выполнения, но не фактическую статистику выполнения. Это только с/*+ gather_plan_statistics */ где заполнено V $ SQL_PLAN_STATISTICS.

Так что мой вопрос: если я не буду использовать подсказку collect_plan_statistics, будут ли EXPLAIN PLAN и DISPLAY_CURSOR всегда давать мне один и тот же план выполнения (для одного и того же оператора)?

Ответы на вопрос(1)

Ваш ответ на вопрос