高级SQL优化教程.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级SQL性能调整教程第一部分:EXPLAIN 和 AUTOTRACE目标完成本课后,你应该能够: ?创建PLAN_TABLE ?使用EXPLAIN PLAN来查看SQL语句会如何执行 ?使用SQL*Plus的AUTOTRACE工具来查看SQL语 句的执行计划和统计信息创建计划表 ?运行Oracle提供的标准脚本创建Plan_table SQL @?/rdbms/admin/utlxplan.sql ?也可以创建为其它的名字 SQL create table my_plan_table 2 as 3 select * from plan_table 4 where 1 2;EXPLAIN PLAN命令 EXPLAIN PLAN SET STATEMENT_ID text INTO your plan table FOR statementEXPLAIN PLAN的例子 SQL EXPLAIN PLAN 2 set statement_id demo_01 for 3 select * 4 fromclasses 5 where status CONF 6 and loc_id 22; Explained. 注意: EXPLAIN PLAN 并不真正执行这条SQL语句。 注意: EXPLAIN PLAN 并不真正执行这条SQL语句。显示执行计划 SQL column Query Plan format a60 SQL select id , lpad , 2*level||operation ||decodeid,0, Cost ||position || ||options || ||object_name as Query Plan from plan_table connect by prior id parent_id startwith id 0;显示执行计划 SQL select id 2 , lpad ,2*level||operation 3 ||decodeid, 0, Cost ||position 4 || ||options 5 || ||object_name as Query Plan 6 from plan_table 7 wherestatement_id demo_01 8 connect by prior id parent_id start with id 0 ID Query Plan ----- 0 SELECT STATEMENT Cost 1TABLE ACCESS BY INDEX ROWID CLASSES 2 AND-EQUAL 3 INDEX RANGE SCAN STAT_INDEX 4 INDEX RANGE SCAN LOC_INDEX显示执行计划 ?运行Oracle提供的标准脚本utlxpls.sql不包 括并行信息 SQL set linesize 100 SQL @?/rdbms/admin/utlxpls.sql 运行Oracle提供的标准脚本utlxplp.sql包括并行信息 SQL set linesize 130 SQL @?/rdbms/admin/utlxplp.sql解释执行计划 TABLE ACCESS 1 BY INDEX ROWID classes AND_EQUAL 2 INDEX INDEX 3 4 RANGE_SCAN RANGE_SCAN stat_index loc_indexSQL*Plus 的 AUTOTRACE OFF ON SET AUTOTRACE TRACE[ONLY] EXPLAIN STATISTICS SHOW AUTOTRACE使用 AUTOTRACE 的要求 ?创建角色Plustrace SQL @?/sqlplus/admin/plustrce.sql 将Plustrace角色授于要执行AUTOTRACE的 用户 SQL grant plustrace to sst;SQL*Plus AUTOTRACE 的例子 ?设置启用AUTOTRACE SQL set autotrace onsql result+explain+exe statistics ?不显示语句的执行结果 SQL set autotrace traceonlyexplain+exe statistics ?只显示执行计划 SQL set autotrace traceonly explainexplain ?可以通过列的设置定制输出SQL*Plus AUTOTRACE 的统计信息SQL set autotrace traceonly statistics SQL select *

文档评论(0)

ww88606 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档