####################################关键指标
---物理读
---逻辑读---》操作内存中的一个 BLOCK
两个指标的单位都是 BLOCK
Logical reads: ---逻辑读
Physical reads: ---物理读
##############分别消耗什么样的资源
物理读 ----》 IO
逻辑读 ----》 CPU
操作内存中的数据,叫逻辑读;操作内存中的数据,必须是 CPU 来操作
############问题 1
如果我的数据库 CPU 很高了,80%
你还建议他调大 buffer cache(sga)么?---因为,你发现 AWR 报告中,每秒的物理读到了 10000 个,你
就想内存换 IO,减少物理读
如果继续调大 SGA,那么你 IO 减少,CPU 上升。
############问题 2
如果我的数据库 CPU 很高了,100%
数据库 awr 报告当中,几乎没有物理读
这个时候,如果不是通过 SQL 语句优化的方式(SQL 很难短时间内优化),我可以通过减小 SGA 来降低 CPU
使用率么?
#############逻辑读和物理读的关系
逻辑读 》= 物理读
1)如果要找的 BLOCK 在内存中不存在,则需要把该 BLOCK 读取到内存中
这个时候先发生一个物理读,随后因为到了内存中,所以紧接着发生一个逻辑读
2)如果要找的 BLOCK 在内存中已经存在,则只需要发生一个逻辑读,不发生物理读
操作内存中的一个块(buffer)
所以逻辑读也叫 buffer get
其他的叫法: consistent gets + db block get
Logical reads:
#####################################IO 的分类
等待事件是非常关键的内容
IO 分为单块读和多块读(16)---db_file_multiblock_read_count
db file sequential read ---》 单块读
db file scattered read --->多块读
############今天我们主要讲的内容
SQL 语句的优化:
评论