ITPub博客

首页 > 数据库 > Oracle > ORACLE开销计算

ORACLE开销计算

原创 Oracle 作者:zhangjihang 时间:2010-04-15 08:25:28 0 删除 编辑

cpu开销与数据所在的列位置有关,每往后一列,开销增加20

cpu_cost=column_position * 20(10gR2)

io_cost≈(blocks/mbrc)*(mreadtim/sreadtim)

索引范围扫描I/O开销

io_cost≈(blevel+(leaf_blocks+clustering_factor)*selectivity)*(optimizer_index_cost_adj/100)

通过工作量统计信息计算开销

cost≈io_cost+cpu_cost/(cpuspeed*sreadtim*1000)

通过非工作量统计信息计算开销

cost≈io_cost+cpu_cost/(cpuspeednw*sreadtim*1000)

其中sreadtim=ioseektim+db_block_size/iotfrspeed

当mreadtim小于或等于sreadtim时,sreadtim和mreadtim将被重新计算

sreadtim=ioseektim+db_block_size/iotfrspeed

mreadtim=ioseektim+(mbrc*db_block_szie)/iotfrspeed

数据字典sys.aux_stats$

非工作量统计信息(dbms_stats.gather_system_stats(gathering_mode => 'noworkload'))

cpuspeednw 一个CPU一秒能处理的操作数,单位百万次

ioseektim 平均磁盘寻道时间,单位毫秒,默认10

iotfrspeed 平均每毫秒从磁盘传输的字节数,默认4096

工作量统计信息(dbms_stats.gather_system_stats(gathering_mode => 'start'/'stop'))

cpuspeed 一个CPU一秒钟能处理的操作数,单位百万次

sreadtim 单块物理读时间,单位毫秒

mreadtim 多块数据平均读取时间,单位毫秒

mbrc 一次多块读操作的平均读取数据块数

maxthr 整个系统的最大I/O吞吐量,单位字节每秒

slavethr 并行处理中从属线程的平均I/O吞吐量,单位字节每秒

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10176825/viewspace-1032876/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    16
  • 访问量
    89004