WEB开发网
开发学院数据库Oracle oracle案例:分析10053跟踪文件 阅读

oracle案例:分析10053跟踪文件

 2008-12-31 13:07:56 来源:WEB开发网   
核心提示: 使用公式综合的Resc Cost = (RSC_CPU cost / _cpu_to_io) + RSC_IO Cost计算 _cpu_to_io:_cpu_to_io = RSC_CPU Cost / (Combined Cost - RSC_IO Cost)= 2865229980 /

使用公式

综合的Resc Cost = (RSC_CPU cost / _cpu_to_io) + RSC_IO Cost

计算 _cpu_to_io:

_cpu_to_io = RSC_CPU Cost / (Combined Cost - RSC_IO Cost)

= 2865229980 / (55630 - 52693)

= 975563.49 CPU cycles per IO

D)计算多块读除数

当CBO估算全表扫描或者索引快速全扫描的成本时,它会使用除数去除表或者索引的总块数,这个除数估算了每次从磁盘上进行的物理读时将要读入的块数(这里称为多块读除数MBDivisor)。以前,参数"DB_FILE_MULTIBLOCK_READ_COUNT”是估算多块读除数的一个基数(为了补偿实际环境下的限制,它的值通过公式进行减少的计算),在9.2及其以后的版本中,多块读除数的值的估算在统计信息收集了的情况下,有很大的变化。

在分析10053之前,计算出CBO使用的这个除数,能帮助我们快速了解它的值是不是合理的。较低的值会导致CBO使用FTS和IFF时候的成本较索引访问路径要昂贵,较高的值,会使FTS和IFF的成本较低廉。

为了获得这个除数,找一个简单的表访问路径入口,获取表扫描("tsc")的资源成本("Resc")。然后查找表包含的总块数。计算公式如下:

tsc cost = Num Blocks / MBDivisor

MBdivisor = Num Blocks / tsc cost

例如:

在"Base Statistical Information"部分:

 Table stats Table: CERTIFICATE Alias: A12
  PARTITION [95] CDN: 3164453 NBLKS: 125272 AVG_ROW_LEN: 617
  TOTAL :: CDN: 3164453 NBLKS: 125272 AVG_ROW_LEN: 617

在"Single Table Access Path"部分:

  SINGLE TABLE ACCESS PATH
  ...
  TABLE: CERTIFICATE ORIG CDN: 3164453 ROUNDED CDN: 2089 CMPTD CDN: 2089
  Access path: tsc Resc: 116982 Resp: 29052
  Mdivisor = Nblks / tsc
  Mdivisor = 125272 / 116982 = 1.07

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:oracle 案例 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接