查看SQL履行计划常常使用方法
核心提示:不论是做为开发DBA还是保护DBA,总是或多或少地碰到SQL履行效率或说SQL调优题目,查看履行计划是必须的。1般我们可以用3种方法查看....
不论是做为开发DBA还是保护DBA,总是或多或少地碰到SQL履行效率或说SQL调优题目,查看履行计划是必须的。1般我们可以用3种方法查看:
1、explain plan for
举例就足以说明其用法
以下为援用的内容:
sys@ORCL>explainplanfor |
2、利用TKPROF工具
TKPROF是1个用于分析oracle跟踪文件并且产生1个更加清楚公道的输出结果的可履行工具。假设1个系统的履行效率比较低,1个比较好的方法是跟踪用户的会话并且使用TKPROF工具的排序功能格式化输出,从而找出有题目的SQL语句。
TKPROF命令后面的选项及输出文件各个列的含义在这里不做具体的先容。 google1下就会有很多资料。
下面简单描写1下TKPROF工具的使用步骤:
1、在session级别设置sql_trace=true
sys@ORCL>altersessionsetsql_trace=true;
Sessionaltered.
假设要在pl/sql中对session级别设置true,可使用dbms_system这个包:
sys@ORCL> exec dbms_system.set_sql_trace_in_session(sid,serial#,true);
2、指定1下天生的trace文件的名字,便于查找:
sys@ORCL>altersessionsettracefile_identifier='yourname';
3、履行SQL语句。
4、利用TKPROF工具格式化输出的trace 文件:
[oracle@q1test01~] $tkprof/oracle/admin/orcl/udump/orcl_ora_10266_yourname.trc/oracle/yourname.txtexplain=user/pwdaggregate=yessys=nowaits=yessort=fchela
5、查看天生的文件再设置sql_trace=false:
sys@ORCL>altersessionsetsql_trace=false;
3、set autotrace on
此种方法最常常使用,关于如何设置sql*plus的autotrace这里也不做具体先容,由于google上面资料确切太多了。有心的朋友可以往找找,保证有1大堆合适你的资料。
举个例子,这类方法简单易懂:
以下为援用的内容:
ctoc@ORCL>setautotraceon |
TAG:方法,工具,文件,题目,效率
评论加载中...
|