v查詢優化分類 :
n代數優化:指關係代數表示式的優化
n物理優化:指訪問路徑和底層操作演算法的選擇
v關聯式資料庫管理系統查詢處理階段 :
1.查詢分析
2.查詢檢查
3.查詢優化
4.查詢執行
v選擇操作典型實現方法:
(1)全表掃瞄方法(table scan)
l對查詢的基本表順序掃瞄,逐一檢查每個元組是否滿足選擇條件,把滿足條件的元組作為結果輸出
l適合小表,不適合大表
(2)索引掃瞄方法(index scan)
l適合於選擇條件中的屬性上有索引(例如b+樹索引或hash索引)
l通過索引先找到滿足條件的元組主碼或元組指標,再通過元組指標直接在查詢的基本表中找到元組
v全表掃瞄演算法
n假設可以使用的記憶體為m塊,全表掃瞄演算法思想:
①按照物理次序讀student的m塊到記憶體
②檢查記憶體的每個元組t,如果滿足選擇條件,則輸出t
③如果student還有其他塊未被處理,重複①和②
連續操作的實現
(1)巢狀迴圈演算法(nested loop join)
(2)排序-合併演算法(sort-merge join或merge join)
(3)索引連線(index join)演算法
(4)hash join演算法
v查詢優化在關係資料庫系統中有著非常重要的地位
v關係查詢優化是影響關聯式資料庫管理系統效能的關鍵因素
v由於關係表示式的語義級別很高,使關係系統可以從關係表示式中分析查詢語義,提供了執行查詢優化的可能性
v關係系統的查詢優化
n是關聯式資料庫管理系統實現的關鍵技術又是關係系統的優點所在
減輕了使用者選擇訪問路徑的負擔
v關聯式資料庫管理系統通過某種代價模型計算出各種查詢執行策略的執行代價,然後選取代價最小的執行方案
n集中式資料庫
l執行開銷主要包括
ø磁碟訪問塊數(i/o代價)
ø處理機時間(cpu代價)
ø查詢的記憶體開銷
li/o代價是最主要的
n分布式資料庫
l總代價=i/o代價+cpu代價+記憶體代價+通訊代價
v查詢優化的總目標
n選擇有效的策略
n求得給定關係表示式的值
n使得查詢代價最小(實際上是較小)
關係查詢處理和查詢優化習題
1.假設關係r a,b 和s b,c,d 情況如下 r有20000個元組,s有1 200個元組,乙個塊能裝40 個r的元組,能裝30個s的元組,估算下列操作需要多少次磁碟塊讀寫。1 r上沒有索引,sclect from r 2000 40 500次 2 r中a為主碼,a有3層b 數索引,select...
關係查詢處理和查詢優化典型例題分析
一 單選題 1.關於查詢過程中的表與表之間的連線方法,效率比較低的是 a 巢狀迴圈 b 排序合併 c 索引連線 d hash join2.1000個學生,10000個選課記錄。2號課程選課記錄50個。一塊記憶體可以放10個學生或者100個選課記錄。計算機的記憶體有限,只能同時放下5塊學生 1塊選課記...
第九章 關係查詢處理和查詢優化
這裡只寫了對於資料庫做題有幫助的部分b 樹內容 b 樹上的葉子結點儲存關鍵字以及相應記錄的位址,葉子結點以上各層作為索引使用。在資料庫中,b 樹葉子結點的上層都是索引,為了方便查詢,不涉及記錄的位址,每個葉子結點存放相應的記錄,也就是元組。並且元組按鍵值有序排放,即按照有b 樹索引的屬性值有序排放。...