Sobes.tech
Назад к вопросам
Middle
7

Как посмотреть план выполнения запроса в Oracle? Чем EXPLAIN PLAN отличается от EXPLAIN ANALYZE?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

В Oracle для просмотра плана выполнения запроса используется команда EXPLAIN PLAN. Она записывает план в специальную таблицу, но не выполняет сам запрос. Это позволяет увидеть, как оптимизатор планирует выполнить запрос.

Пример:

EXPLAIN PLAN FOR
SELECT * FROM employees WHERE department_id = 10;

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY());

EXPLAIN ANALYZE — это команда из PostgreSQL, в Oracle аналогичной команды нет. В PostgreSQL EXPLAIN ANALYZE выполняет запрос и показывает реальное время выполнения каждого шага, а не только план.

В Oracle для получения статистики выполнения можно использовать DBMS_XPLAN.DISPLAY_CURSOR после выполнения запроса с включенным сбором статистики.

Итого:

  • EXPLAIN PLAN в Oracle показывает предполагаемый план без выполнения.
  • EXPLAIN ANALYZE в PostgreSQL выполняет запрос и показывает фактические затраты.
  • В Oracle для анализа фактического выполнения используют другие инструменты, например, DBMS_XPLAN.DISPLAY_CURSOR.