2009-05-06 17 views
1

在Oracle 10g讀/寫性能較強的表上,我們偶爾會在使用所有CPU的併發性引用「鎖存庫高速緩存」時獲得巨大的高峯。如何在Oracle表上擁有高併發性時調整性能

我們可以採取哪些方法來減輕數據庫內的負載。我們已經看到有關免費列表的東西,並增加了這些。任何其他意見。

回答

4

「latch library cache」與給定表上的I/O是否高有關。這意味着你正在等待緩存的SQL語句緩存;所以很有可能當你看到這些尖峯時,會發生不尋常的硬解析。

最常見的原因是你沒有使用綁定變量,所以你很難用不同的值解析許多類似的語句。例如。您執行的語句如下:

SELECT name FROM emp WHERE empid = 3; 

每次執行查詢時都會更改文字ID值,從而導致分析新語句。最好用一個綁定變量替換文字,併爲每個執行綁定一個新值。具體如何完成此操作取決於您用來針對數據庫執行語句的語言/庫/環境。

+0

綁定通過preparedstatements(在JDBC中)實現的變量嗎?或者是別的什麼。 – Sathya 2009-06-22 15:47:05