- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EXPLAIN_PLAN总结
EXPLAIN的使用
Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对于给定SQL语句中的查询数据是如何得到的即搜索路径(我们通常称为Access Path)。从而使我们选择最优的查询方式达到最大的优化效果。
安装
要使用EXPLAIN首先要执行相应的脚本,创建出Explain_plan表。
具体脚本执行如下:
$ORACLE_HOME/rdbms/admin/utlxplan.sql (UNIX) 该脚本后会生成一个表这个程序会创建一个名为plan_table的表。
使用
常规使用语法:
explain PLAN [ SET STATEMENT_ID [=] string literal ] [ INTO table_name ]
FOR sql_statement
其中:
STATEMENT_ID:是一个唯一的字符串,把当前执行计划与存储在同一PLAN中的其它执行计划区别开来。
TABLE_NAME:是plan表名,它结构如前所示,你可以任意设定这个名称。
sql_statement:真正的SQL语句。
比如:
SQLexplain plan set statement_id=T_TEST for select * from t_test;
执行下面语句可以查询到执行计划
SQLSELECT A.OPERATION,OPTIONS,OBJECT_NAME,OBJECT_TYPE,ID,PARENT_ID
FROM PLAN_TABLE a
WHERE STATEMENT_ID=T_TEST
ORDER BY Id;
也可以用这句话 select * from table(dbms_xplan.display); 可以把所有PLAN_TABLE里的数据罗列出来。
AUTOTRACE的使用方法
安装
用sys用户运行脚本ultxplan.sql
建立这个表的脚本是:(UNIX:$ORACLE_HOME/rdbms/admin, Windows:%ORACLE_HOME%\rdbms\admin)ultxplan.sql。
SQL connect sys/sys@colm2 as sysdba;
SQL @C:\oracle\ora92\rdbms\admin\utlxplan.sql;
SQL create public synonym plan_table for plan_table;--建立同义词
SQL grant all on plan_table to public;--授权所有用户
要在数据库中建立一个角色plustrace,用sys用户运行脚本plustrce.sql来创建这个角色,这个脚本在目录(UNIX:$ORACLE_HOME/sqlplus/admin, Windows:%ORACLE_HOME%\sqlplus\admin)中;
SQL @C:\oracle\ora92\sqlplus\admin\plustrce.sql;
然后将角色plustrace授予需要autotrace的用户;
SQLgrant plustrace to public;
经过以上步骤的设置,就可以在sql*plus中使用autotrace了
使用
使用起来非常方便,只要使用一条命令就可以了
SQLSET AUTOTRACE ON;
*autotrace功能只能在SQL*PLUS里使用
其他一些使用方法:
在SQLPLUS中得到语句总的执行时间
SQL set timing on;
只显示执行计划
会同时执行语句得到结果
SQLset autotrace on explain
比如:
sql select count(*) from test;
count(*)
-------------
4
Execution plan
----------------------------
0 select statement ptimitzer=choose (cost=3 card=1)
1 0 sort(aggregate)
2 1 partition range(all)
3 2 table access (full) of t_test (cost=3 card=900)
只显示统计信息
会同时执行语句得到结果
SQLset autotrace on statistics;
(备注:对于SYS用户,统计信息将会是0)
显示
您可能关注的文档
- performance tuning_2-sql优化.ppt
- SQL优化技术交流.ppt
- 北大青鸟-JAVA编程规范v1.0.doc
- 广西河池市2011年初中毕业升学考试试题卷.doc
- 64道面试题--带目录.doc
- Input_Director使用心得.doc
- 1.performance tuning_1 ORACLE 性能监控.ppt
- 高中2010英语考试真题.doc
- 超级易学的数据库结构图文解.ppt
- 第1章 Oracle_简介.ppt
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)