主要的SQL执行计划分析工具
1.explain
首先创建explain分析表
@?/rdbms/admin/utlxexplan.sql;
分析执行计划
explain plan for select * from z01_amount;
最后查看SQL执行计划
@?/rdbms/admin/utlxplp.sql;
好处:老掉牙但是在封闭环境没有其他开发工具时简单好用
也可以直接引用10g的新特性,输入查询。其中
dbms_xplan.display() 显示v$sql_plan视图中的语句执行计划
dbms_xplan.display_awr() 显示保存在AWR报表中的语句执行计划
select plan_table_output from table(dbms_xplan.display());
2.配套使用sqlTrace和tkprof
与上面explain的差异:不是针对sql语句级别,而是session甚至instance级别的诊断
会话级跟踪
SQL_TRACE的通常使用方式是仅跟踪一个会话。被跟踪的会话可以是您自己的,也可以是其它用户的会话。如果是自己的会话,只需要在SQL*PLUS中运行一下命令即可:
SQL> alter session set sql_trace = true;
类似的如果取消对会话的跟踪,运行一下命令:
SQL> alter session set sql_trace = false;