Назад к вопросам
Aston
Middle
7
Как посмотреть план выполнения запроса в Oracle? Чем EXPLAIN PLAN отличается от EXPLAIN ANALYZE?
Компании, где спрашивали
Ответ от нейросети
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.