Sql最佳化(十四)分散式環境中的最佳化(2)選擇合適的驅動節點(driving site hint)

531968912發表於2016-09-13
在分散式環境中,sql訪問多個資料庫中的表,最佳化器需要選擇一個運算節點,將其他節點的資料傳送到運算節點再執行sql。由於本地資料庫無法知道遠端資料庫表的統計資訊,因此會採用假設,例如假設遠端表的記錄數為100條,這往往與實際情況出入很大,這會導致最佳化器選擇不合適的運算節點。而開發人員是瞭解真實情況的,因此可以透過hint來指定驅動節點,即在哪個資料庫中進行運算(通常選擇大表所在的節點)。SELECT /*+DRIVING_SITE(dept)*/ *FROM emp, dept@rsiteWHERE emp.deptno = dept.deptno;這有時是個非常有用的最佳化方法,設想dept有...

Link URL: http://luw.itpub.net/post/43737/531121

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2124919/,如需轉載,請註明出處,否則將追究法律責任。

相關文章