2011-02-23 32 views
2

Oracle中是否有任何提示與這些SQL Server提示的工作方式相同?在Oracle中優化和重新編譯提示?

重新編譯:每次運行時都會重新編譯查詢(如果執行計劃應根據參數的不同而有很大差異)。這與Oracle中的cursor_sharing相比最好嗎?

優化:當您希望計劃針對某個參數進行優化時,即使在第一次運行SQL時使用了不同的參數?我想也許可以用cursor_sharing來幫助嗎?

回答

1

由於您使用11g中,甲骨文應該默認使用adaptive cursor sharing。如果您有一個使用綁定變量的查詢,並且具有傾斜數據的列上的直方圖表明不同的綁定變量值應該使用不同的查詢計劃,Oracle將自動爲相同的SQL語句維護多個查詢計劃。沒有必要特別提示查詢來獲得這種行爲,它已經被燒入優化器。

+0

是的,我知道這一點。但我不認爲自適應光標共享是默認開啓的。無論如何,標記這是正確的:) – KTrum 2011-04-05 17:47:20