以下是关于“PL/SQL执行计划查看”的完整攻略:
步骤1:开启执行计划跟踪
首先,需要开启执行计划跟踪。可以使用以下命令来开启执行计划跟踪:
ALTER SESSION SET STATISTICS_LEVEL=ALL;
在上面的代码中,我们使用了ALTER SESSION
语句来设置STATISTICS_LEVEL
参数为ALL
,以开启执行计划跟踪。
步骤2:执行SQL语句
接下来,执行需要查看执行计划的SQL语句。可以使用以下命令来执行SQL语句:
SELECT * FROM employees WHERE department_id = 10;
在上面的代码中,我们使用SELECT
语句来查询employees
表中department_id
为10
的记录。
步骤3:查看执行计划
执行SQL语句后,可以使用以下命令来查看执行计划:
SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR);
在上面的代码中,我们使用了DBMS_XPLAN.DISPLAY_CURSOR
函数来显示当前会话的执行计划。
示例1:查看指定SQL语句的执行计划
以下是一个示例代码,演示如何查看指定SQL语句的执行计划:
EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 10;
SELECT * FROM table(DBMS_XPLAN.DISPLAY);
在上面的代码中,我们使用了EXPLAIN PLAN
语句来生成执行计划,并使用DBMS_XPLAN.DISPLAY
函数来显示执行计划。
示例2:查看指定SQL语句的优化执行计划
以下是一个示例代码,演示如何查看指定SQL语句的优化执行计划:
ALTER SESSION SET OPTIMIZER_MODE = ALL_ROWS;
EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 10;
SELECT * FROM table(DBMS_XPLAN.DISPLAY);
在上面的代码中,我们使用了ALTER SESSION
语句来设置优化器模式为_ROWS
,以生成优化执行计划,并使用DBMS_XPLAN.DISPLAY
函数来显示执行计划。
总结:
- 可以使用
ALTER SESSION
语句来开启执行计划跟踪。 - 可以使用
SELECT
语句来执行需要查看执行计划的SQL语句。 - 可以使用
DBMS_XPLAN.DISPLAY_CURSOR
函数来显示当前会话的执行计划。 - 可以使用
EXPLAIN PLAN
语句来生成执行计划,并使用DBMS_XPLAN.DISPLAY
函数来显示执行计划。 - 可以使用
ALTER SESSION
语句来设置优化器模式为ALL_ROWS
,以生成优化执行计划。