《數據庫系統概念》17-查詢優化

1、查詢優化是爲處理查詢找出一個好的策略的過程。一個查詢通常有多種方法能夠計算出結果,系統負責將用戶輸入的查詢轉換成可以更有效執行的等價查詢。 複雜的查詢操做涉及多級存取磁盤的操做,因爲從磁盤中傳輸數據比從內存中要慢得多,因此有必要進行查詢優化,以選擇一個可以最小化磁盤存取的方法。 有不少等價規則可供將一個表達式轉化成等價表達式,可使用這些規則系統地產生與所給查詢等價的全部表達式。 選擇查詢處理策略的第一步就是找到一個關係代數表達式,使它與所給的表示是等價而且據估計有更小的執行代價。數據庫

2、數據庫系統爲執行一個操做所選擇的策略依賴於每一個關係的大小和列值的分佈狀況。數據庫系統能夠爲每一個關係r存儲統計信息,從而可以基於這些可靠消息選擇合適的策略。這些統計信息包括:關係r中的元組數;關係r中的一個記錄的大小;關係r中某個特定屬性中出現的不一樣取值的數目等。這些統計信息使得咱們能夠估計各類操做的結果集的大小和執行操做的代價。當處理一個查詢的過沖中有多個索引可用於輔助的時候,關係的統計信息特別有用,這些信息對查詢處理策略的選擇有很大的影響。學習

3、對於每一個表達式,能夠用一些等價規則產生多個可選的執行計劃,而後從中選擇代價最小的執行計劃。爲了減小須要產生的可選表達式和執行計劃的數量,產生了多種優化技術,好比可使用啓發式的方法,來減小優化的代價。用於關係代數查詢轉換的啓發式規則包括「及早執行選擇操做」、「及早執行投影操做」、「避免笛卡爾積操做」等。 還可使用物化視圖來加速查詢處理。當原關係發生修改時,須要用增量的視圖維護來高效地更新物化視圖。利用包含一個操做的輸入的變化量的代數表達式,可以完成對該操做的變化量的計算。其餘與物化視圖相關的問題還包括如何藉助物化視圖進行查詢優化和如何選擇須要待物化的視圖。 學習資料:Database System Concepts, by Abraham Silberschatz, Henry F.Korth, S.Sudarshan優化

相關文章
相關標籤/搜索