今天有开发人员问怎么安装SQL的执行计划。配置方法不止一种,下面俺简单说一下方法:
第一种方法如下:
在sys用户下运行如下脚本:
SQL>@$ORACLE_HOME/sqlplus/admin/plustrce.sql;
在产生角色plustrace后在sys用户下把该角色授予一般用户username,
SQL>grant plustrace to username;
如果愿意,可以把grant命令中的username替换为public。
第二种方法如下:
在sys用户下运行如下脚本:
SQL>@$ORACLE_HOME/rdbms/admin/utlxplan.sql;
创建一个plan_table,用来存储分析SQL的结果
SQL>create public synonym plan_table for plan_table; SQL>grant all on plan_table to public;
通过将plan_table设置为public,任何人都可以使用SQL*Plus来查看执行计划,同时也可以把grant to public中的public替换为某个username。
一些开关语句如下:
set time on|off 打开时间显示。
set timing on|off 打开显示执行的时间。
set autotrace on|off 打开自动分析,并显示SQL的运行结果。
set autotrace on statistics 按常规执行,只显示SQL的执行统计数据。
set autotrace on explain 按常规运行,只显示优化程序的执行情况。
set autotrace traceonly 打开自动分析统计,不显示SQL的运行结果。
set autotrace traceonly statistics
与set autotrace traceonly一样,不显示执行计划,只显示统计数据。set autotrace traceonly explain
与set autotrace traceonly一样,不显示统计数据,只显示执行计划。它只对该查询进行分析和解释,INSERT、UPDATE、DELETE和MEGRE都用此方法,只有SELECTE 有所不同。