设为首页 加入收藏

TOP

Oracle SQL性能分析之10053事件(三)
2019-03-21 00:08:10 】 浏览:281
Tags:Oracle SQL 性能 分析 10053 事件
nbsp;   Resp_io: 289.00  Resp_cpu: 26481829


  Access Path: index (AllEqRange)


    Index: IDX_TABTEMP_ID


    resc_io: 2.00  resc_cpu: 15723


    ix_sel: 0.000014  ix_sel_with_filters: 0.000014


    Cost: 2.00  Resp: 2.00  Degree: 1


  Best:: AccessPath: IndexRange


  Index: IDX_TABTEMP_ID


        Cost: 2.00  Degree: 1  Resp: 2.00  Card: 1.00  Bytes: 0


***************************************


 


如上述输出trace文件中加粗所示:


#DK: 表示索引中不同的键值数量。此处数值72764错误,在对表进行更新后,索引中只有1个key。


LB/K:表示每个键值对应多少个leaf blocks。此处数值为1错误,应为leaf blocks即#LB的数值。


DB/K:表示每个key对应多少个数据块。此处数值为1错误,应为#Blks的数值。


Rounded:表示关联后将产生多少条数据。此处数值为1错误,应该是测试表的总行数72764。


ix_sel_with_filters 是带有过滤条件的索引选择率,即过滤因子FF,ix_sel_with_filters =1/DK ,本例中DK数值为1,所以ix_sel_with_filters数值近似为1。


Card:即Cardinality,10gr2以后cardinality用rows表示,是oracle自己估算的数值。本例中应为测试表的行数。


本例中Index range scan访问方式cost计算公式为:


cost=blevel + FF*leaf_blocks + FF*clustering_factor,由于FF(ix_sel_with_filters)数值出现的巨大差异(错误的数值为0.000014,正确数值近似等于1),导致Index range scan访问方式cost数值出现严重偏差,最终生成了错误的执行计划。


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle通过指令创建用户 下一篇Oracle迁移到Greenplum的方案

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目