資料庫索引設計與優化讀書筆記--《三》SQL處理過程

FreeeLinux發表於2017-07-02

第二章的知識大都是索引的基本知識,就沒有寫。

訪問路徑(執行計劃)的成本很大程度取決於索引片的厚度,即謂詞表示式確定的值域範圍。索引片越厚,需要順序掃描的索引頁就越多,需要處理的索引記錄也就越多,而最大的開銷還是來自於增加對錶的同步操作,每次表頁讀取需要10ms。

WHERE字句中的列就謂詞,如果有足夠簡單的謂詞的列就是匹配列。最後一個匹配列之後的列稱為過濾列。
如:多列索引(A,B,C,D),WHERE A =: A AND B > :B AND C = :C,那麼由於B是一個範圍謂詞,A,B就是匹配列,用來定義索引片。而C不用來定義索引片,是作為過濾列使用。不過,如果列B的謂詞表示式是等值謂詞(如IN),那麼這三個列都可以用作匹配列。

過濾因子(FF) = 結果集的數量 / 錶行的數量

相關文章