电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Oracle如何分析执行计划VIP免费

Oracle如何分析执行计划_第1页
1/10
Oracle如何分析执行计划_第2页
2/10
Oracle如何分析执行计划_第3页
3/10
执行计划: 首先在分析的用户下执行rdbms\admin\utlxplan.sql 用sys 用户登录:sqlplus\admin\plustrace.sql grant sqlplus to user_name; 1. 找出耗费资源比较多的语句 SELECT ADDRESS, substr(SQL_TEXT,1,20) Text, buffer_gets, executions, buffer_gets/executions AVG FROM v$sqlarea WHERE executions>0 AND buffer_gets > 100000 ORDER BY 5; 2. 如何分析执行计划: SQL> SELECT * FROM LARGE_TABLE where USERNAME = ‘TEST’; Query Plan ----------------------------------------- SELECT STATEMENT Optimizer=CHOOSE (Cost=1234 Card=1 Bytes=14) TABLE ACCESS FULL LARGE_TABLE [:Q65001] [ANALYZED] TABLE ACCESS FULL large_table:在large_table 上做全表扫描 [:Q65001] 表明该部分查询是以并行方式运行的。 [ANALYZED] 表明操作中引用的对象被分析过了,在数据字典中有该对象的统计信息可以供CBO 使用。 3. 各个表之间是如何关联的 在执行计划中,需要知道哪个操作是先执行的,哪个操作是后执行的,这对于判断哪个表为驱动表有用处。判断之前,如果对表的访问是通过rowid,且该rowid 的值是从索引扫描中得来得,则将该索引扫描先从执行计划中暂时去掉。然后在执行计划剩下的部分中,判断执行顺序的指导原则就是:最右、最上的操作先执行。 4. 在RBO 中,以from 子句中从右到左的顺序选择驱动表,即最右边的表为第一个驱动表但是,在RBO 中,也是有一套规则来决定使用哪种连接类型和哪个表作为驱动表,在选择时肯定会考虑当前索引的情况,还可能会考虑 where 中的限制条件,但是肯定是与 where中限制条件的位置无关。 5. 在CBO 中,如果没有统计信息,则在from 子句中从左到右的顺序选择驱动表。如果用ordered 它会按从左到右的顺序选择驱动表。但是如果对表或索引进行分析,则优化器会自动根据cost 值决定采用哪种连接类型,这与 where 子句中各个限制条件的位置没有任何关系,如果想改变优化器选择的连接类型或驱动表,则要使用hints。 CBO 与 RBO 总结: 在 RBO 中,以从右到左的顺序选择驱动表,即最右边的表为第一个驱动表,但是在 RBO中也有一套规则来决定使用哪种连接类型和哪个表作为驱动表,在选择时肯定会考虑到当前索引的情况,还可能会考虑到 where 中的限制条件,但是肯定是与 where 中限制条件的位置无关。 在 C...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Oracle如何分析执行计划

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部