Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在具有大量读/写的 Oracle 10g 表上,我们偶尔会在使用所有 CPU 的并发引用“锁存库缓存”时出现巨大的峰值。
我们可以采取什么方法来减轻数据库中的负载。我们已经看到了关于免费列表和增加这些的东西。任何其他意见。
“锁存库缓存”与给定表上的 I/O 是否高无关。这意味着您正在等待已解析 SQL 语句缓存的锁存器;因此,当您看到这些尖峰时,很可能会发生异常数量的硬解析。
最常见的原因是您没有使用绑定变量,因此您正在硬解析许多具有不同值的类似语句。EG 您正在执行如下语句:
SELECT name FROM emp WHERE empid = 3;
并在每次执行查询时更改文字 ID 值,从而导致解析新语句。最好用绑定变量替换文字并为每次执行绑定一个新值。究竟如何实现这一点取决于您用来对数据库执行语句的语言/库/环境。