Sobes.tech
Middle

Hoe bekijk je het uitvoeringsplan van een query in Oracle? Hoe verschilt EXPLAIN PLAN van EXPLAIN ANALYZE?

sobes.tech AI

Antwoord van 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.