我正在尋找一個高層次的算法理解,以便我可以獲得Big-O對SQL-Server執行聯接所做的事情的感覺。隨意簡明扼要,我並不是在尋找極其堅韌的東西。促使我瞭解如何更好地實現聯接的原因是我剛剛發佈的this question背後的情況。我覺得他們最終是兩個不同的問題,這就是爲什麼我沒有把它們結合起來。在SQL Server中如何實現內部和外部和外部連接?
謝謝!
我正在尋找一個高層次的算法理解,以便我可以獲得Big-O對SQL-Server執行聯接所做的事情的感覺。隨意簡明扼要,我並不是在尋找極其堅韌的東西。促使我瞭解如何更好地實現聯接的原因是我剛剛發佈的this question背後的情況。我覺得他們最終是兩個不同的問題,這就是爲什麼我沒有把它們結合起來。在SQL Server中如何實現內部和外部和外部連接?
謝謝!
下面是一些閱讀材料,幫助您入門。
SQL Server可以從各種不同的連接選擇:最常見的是合併,循環和散列。看到這個KB article。
老實說,如果你有興趣,在詳細程度,我建議你閱讀: http://www.amazon.com/Microsoft-SQL-Server-2008-Internals/dp/0735626243/ref=sr_1_1?ie=UTF8&qid=1297976127&sr=8-1#_
學習閱讀的執行計劃。 SQL Server有一個相當不錯的優化引擎。它並不總是按照我們人類所期望的方式來做事,或者對於我們看來似乎相似的兩個查詢來說,也是如此。
我以爲SQL內部書有點吸了,這裏有一些更好的和免費的:http://www.red-gate.com/our-company/about/book-store/ – Andomar 2011-02-17 21:05:10