ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Explain的使用

Explain的使用

原创 Linux操作系统 作者:hjgo5 时间:2019-04-26 20:48:04 0 删除 编辑
explainOracle提供的查看SQL语句执行计划的工具,它不需要实际执行SQL语句。开发人员可以通过explain出来的执行计划看SQL语句所访问的路径是不是想要的,是不是最佳的。

1.创建plan_table

plan_tableexplain用来存放执行计划的,创建的脚本是$ORACLE_HOME/rdbms/utlxplan.sql。创建时注意所在的表空间,建议修改后放在TOOLS或其它非系统表空间里。

为了方便其它数据库用户的使用,建议创建一个public同义词。

sqlplus system/manager

SQL>@?/rdbms/admin/utlxplan.sql /*已经修改了表空间的设置*/

SQL>create public synonyms plan_table for plan_table;

SQL>grant ALL on plan_table to public;

2.使用explain

如果要查看一个SQL语句的执行计划,可以用:

    explain plan
      set statement_id ='plan_id'
       for
         select ...........

SQLPLUS 会提示

Explained.

表示执行计划已经成功生成。

plan_id不要和已经用过的计划重复,如果不想以后再从plan_table中查看这个计划,则可以不要这一句。

3.查看执行计划

Oracle8i提供了2个脚本用来查看,在$ORACLE_HOME/rdbms/admin目录下,分别是utlxplp.sqlutlxpls.sql,它们会把最近一次执行的explain结果显示出来。其中utlxplp.sql会显示并行的信息,而utlxpls.sql不会显示并行的信息。

执行方法是:

SQL>set linesize 108

SQL>@?/rdbms/admin/utlxplp.sql

SQL>set linesize 80

SQL>@?/rdbms/admin/utlxpls.sql


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/266281/viewspace-495482/,如需转载,请注明出处,否则将追究法律责任。

下一篇: tkprof和sql trace
请登录后发表评论 登录
全部评论

注册时间:2005-03-03

  • 博文量
    58
  • 访问量
    42981