网站首页 > 技术文章 正文
Oracle 查询数据时可分3 种情况读取数据:db block gets、consistent gets、physical reads,它们三者之间的关系大致可概括为:逻辑读(logical reads)指的是Oracle 从内存读到的数据块数量。一般来说是'consistent gets' + 'db block gets'。当在内存中找不到所需的数据块的话就需要从磁盘中获取,于是就产生了'physical reads'。
产生 Physical reads(物理读)的主要原因如下。
?>> 在数据库高速缓存中不存在这些块。
? >>全表扫描。
? >>磁盘排序。
要想查询速度快,应该尽量避免Physical reads,尽量从缓存读取数据。可通过执行以下SQL
语句来查看Oracle 缓存的命中率:
select 1 - ((physical.value - direct.value - lobs.value) / logical.value)
"Buffer Cache Hit Ratio"
from v$sysstat physical,v$sysstat direct,v$sysstat lobs,v$sysstat logical
where physical.name = 'physical reads'
and direct.name='physical reads direct'
and lobs.name='physical reads direct (lob)'
and logical.name='session logical reads';
该项显示buffer cache 大小是否合适,通常在OLTP 系统中,这个值应该大于90%,否则需要考虑增加buffer cache 的大小。
在考虑调整buffer cache hit ratio 时,需要注意:如果上次增加buffer cache 的大小以后,没有对提高hit ratio 产生很大效果的话,不要盲目增加buffer cache 的大小以提高性能。因为对于排序操作或并行读,Oracle 是绕过buffer cache 进行的。在调整buffer cache 时,尽量避免增加很多的内存而只是提高少量hit ratio 的情况出现。
可通过执行以下语句查看Oracle 的buffer cache size:
show parameter _size
猜你喜欢
- 2024-10-22 程序员笔记|解读Oracle AWR性能分析报告
- 2024-10-22 「优化体系」Oracle优化必备之动态性能视图v$session_longops
- 2024-10-22 英方i2Active发布3.1版本,针对Oracle的多项性能大幅度提升
- 2024-10-22 Oracle SQL性能优化技巧 oracle sql优化一般从那几个方面入手
- 2024-10-22 linux学习~Oracle数据库性能分析利器-AWR报告
- 2024-10-22 Oracle AI 性能优化指南探讨 oracle语句性能优化
- 2024-10-22 ORACLE SQL性能优化总结 oracle数据库性能优化方法论和最佳实践
- 2024-10-22 详解ORACLE DBA判断IO有性能问题的标准--操作系统和AWR报告
- 2024-10-22 oracle性能调优学习第一天 oracle性能调优总结
- 2024-10-22 Oracle数据库性能调优实践(四)——SGA和PGA调优
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)