CPU时间与缓冲区得到oracle

Posted

技术标签:

【中文标题】CPU时间与缓冲区得到oracle【英文标题】:CPU Time vs Buffer gets oracle 【发布时间】:2020-01-06 10:01:31 【问题描述】:

为了提高查询的性能,选择哪一个?

CPU_time 高而 buffer_gets 低

CPU_time 低而 buffer_gets 高

【问题讨论】:

【参考方案1】:

buffer_gets 表示 Oracle 必须读取块的次数。从内存(缓存)或磁盘满足读取。

由于磁盘 I/O 比 CPU 时间昂贵得多,通常您应该集中精力尽可能减少 buffer_gets

CPU_time“high”相对于其他查询可能是微不足道的,如果它代表 CPU 容量的一小部分。如果它确实占很大比例,那么也需要对其进行调查。

【讨论】:

那么如果我减小缓冲区大小,sql性能会有提升吗? 不要减小 buffer size,调整 SQL 查询以减小 buffer_gets

以上是关于CPU时间与缓冲区得到oracle的主要内容,如果未能解决你的问题,请参考以下文章

浅析缓冲区溢出漏洞的利用与Shellcode编写

Oracle存储过程OUT CLOB返回错误字符串缓冲区太小

关于oracle的缓冲区机制与HDFS中的edit logs的某些关联性的思考

Oracle数据库主要的后台进程都有哪些?

在 Oracle 中,“缓冲区获取”实际上指的是啥?

execve缓冲区溢出成功完成后的CPU执行流程? ..int 0x80成功完成之后?