尋找關於如何從Oracle調優開始的建議,我從來沒有做過。如何開始查詢調優?
我想知道如何執行查詢的性能調整。我們爲客戶構建應用程序,所以我沒有生產數據庫。我基本知道我們的哪些查詢很重要,並且希望確保它們能夠快速運行。
在MSSQL中,它非常直接,當您啓用執行計劃時,它會顯示其他索引,這將有助於查詢。 Oracle中是否有類似的東西?或者也許另一種方法?
尋找關於如何從Oracle調優開始的建議,我從來沒有做過。如何開始查詢調優?
我想知道如何執行查詢的性能調整。我們爲客戶構建應用程序,所以我沒有生產數據庫。我基本知道我們的哪些查詢很重要,並且希望確保它們能夠快速運行。
在MSSQL中,它非常直接,當您啓用執行計劃時,它會顯示其他索引,這將有助於查詢。 Oracle中是否有類似的東西?或者也許另一種方法?
性能調整是一個很大的課題。人們採取兩種基本類型的方法:科學或猜測。
A.臆測(或稱爲獵槍方法)
*
B.科學
(*
如果沒有更多的索引創建,找別的東西來改變 - 例如任何改變一些會話或系統設置,重建表等)
(萬一***
這並不明顯,我是不是提倡方法A)
我會建議的第一件事是,如果您不打算對prod數據庫進行調優,則應該將prod db中的表靜態導入到您的Dev數據庫。這將使您的Dev系統具有與prod類似的數據。如果谷歌導入統計數據,你會發現大量的文章。下一個階段將查看你可以添加索引的查詢,通常在你看到全表掃描是一個好地方看。
你使用綁定變量嗎?
Oracle做了很多緩存數據,所以看看你可以在哪裏使用綁定變量,這將在服務器進程的私有空間進行過濾,並保存數據庫進行物理讀取,因此數據很快返回。
希望這會有所幫助。
-1遵循霰彈槍的方法 – 2012-04-13 06:43:36
我會開始記錄查詢執行計劃。捕獲SQL工作負載也是一個有趣的選擇。 – Anonymous 2012-04-12 18:46:16