关于V$SYSSTAT中的db block gets等参数的含义探讨

boydgmx 2005-12-21 11:12:37
Oracle文档:

db block gets: Accesses to the current image of a block
consistent gets: Accesses to a read-consistent image of a block
physical reads: Number of blocks read from disk

Hit Ratio = 1 – (physical reads/(db block gets + consistent gets))

我的理解:
db block gets: 获取数据的当前映像所读取的数据块。
Oracle为了获取数据的当前映像,会先去数据缓存(Data cache)中找,如果有就直接读取(逻辑读),如果没有再去数据文件中读取(物理读)。

consistent gets: 获取数据的读一致性映像所读取的数据块。
应该仅发生在用户查询时该数据块正在被修改的情况下,则数据的前映像在回滚段中,Oracle为了获取一致性映像,必须从回滚段中读取(物理读)。

physical reads: 所有物理读的总数。

从而: db block gets + consistent gets 就是所有读取操作涉及的数据块

则物理读在所有读操作中所占的比例就是:

physical reads/(db block gets + consistent gets)

数据高速缓存的命中率就应该是:

Hit Ratio = 1 – (physical reads/(db block gets + consistent gets))

请高人斧正!谢谢
...全文
185 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
boydgmx 2005-12-24
  • 打赏
  • 举报
回复
谢谢
dear_jasmine 2005-12-24
  • 打赏
  • 举报
回复
建议去itpub看看,那边类似问题很多
boydgmx 2005-12-22
  • 打赏
  • 举报
回复
我还是希望高人给以指正!
yxsalj 2005-12-21
  • 打赏
  • 举报
回复
agree

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧