【摘抄】
決定聚簇型別的準則
一般規則:
為了提高大範圍資料處理的執行速度而使用單錶聚簇
為了提高多個表之間的連線效率而使用復合表聚簇
全域性性聚簇:並不是指兩個表之間的聚簇,而是在乙個聚簇中結合兩個以上表的情況下使用的稱呼。
區域性性聚簇
單錶聚簇
在實際應用開發中,應該堅持的最有效的方法:
只為需要經常進行大範圍資料處理的表建立聚簇,盡量確保不需要進行大範圍資料處理的表具有較強的獨立性。
單位聚簇大小的決定
如果在允許的情況下,盡量為行長度比較短的表建立聚簇,同時不要將單位聚簇的大小設定得過大。
這裡涉及到乙個單位聚簇大小的計算問題。參見p269
確保聚簇被使用的措施:
不要以聚簇鍵列為先導來建立組合索引
可以通過固定讀取路徑的方式來確保聚簇始終被使用
《海量資料庫解決方案》2011051901
摘抄 表連線的最優化方案 表連線,這裡指狹義的join,是連線資料的最基本方法。表連線方式 a 巢狀迴圈表連線nested loops 既是最傳統的表連線方式,也是最普遍的表連線方式 通過優先許可權處理某個集合來從中獲取常量值,並利用該常量值去對應的集合中查詢滿足連線條件的對應行,所連線數量的多少會...
《海量資料庫解決方案》2011051301
摘抄 表連線的最優化方案 反覆連線方式 之後用於連線 query 的sql要以以前從基表中所讀取的行為基準而被反覆 loop 執行 文中比較nested loops和反覆連線方式,結論是反覆連線方式類似nested loops,只是前者會出現沒有設計出正確的表連線方向 集合順序 而影響了join的速...
《海量資料庫解決方案》2011050301
摘抄 提高區域性範圍掃瞄執行速度的原理 書中提及乙個概念 無條件查詢,按字面理解就行了。如 select from tb 後面不帶任何查詢語句之類的。在書中所說,select from tb order by item 前者可能執行區域性範圍掃瞄,後者執行屬於全部範圍掃瞄 以上,針對的是oracle...