Oracle
如何比較兩個數據庫的性能
有兩個數據庫伺服器,我想比較它們的性能。
兩者都有 Windows 作業系統和 Oracle(10.2.0.4 和 11.0.2)數據庫。
兩者都是具有 15-20 個使用者的 OLAP 數據庫。硬體不同,但我沒有太多關於配置的資訊。
它們都有相似的表,我使用解釋計劃將相同的 sql 查詢與完全相同的表進行比較。(58M 行,60 列)。
select * from TABLE
我用過select count(*) from TABLE
一個解釋計劃顯示 00:35:00,另一個顯示時間列的 01:45:00。
我想知道比較解釋計劃是否足以比較性能,如果不是我該怎麼辦?
您無法僅通過查看它們的 sql 計劃來比較 2 個數據庫的性能。相同的查詢可以有非常不同的計劃。當版本不同時,成本的各種計算都是不同的。查詢執行時遵循的計劃很可能與您從客戶的解釋計劃中獲得的計劃完全不同。
比較性能的唯一方法是測量查詢或程序的執行情況並比較這些時間。您可以使用 AWR 來比較數據庫性能。一定的工作負載會產生一定的吞吐量並消耗或多或少的 dbtime。如果您的作業花費的 dbtime 和經過的時間較低,您可以肯定地說,與時間較長的數據庫相比,該數據庫的性能更好。
在 11g 中,啟用自動調整任務並啟用自動接受 sql 配置文件後,很可能下一次執行已經顯示出更好的時間安排。