第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt

第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt

ID:48804313

大小:133.00 KB

頁數(shù):9頁

時間:2020-01-26

第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt_第1頁
第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt_第2頁
第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt_第3頁
第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt_第4頁
第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt_第5頁
資源描述:

《第4章 關系系統(tǒng)及其查詢優(yōu)化.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、第4章關系系統(tǒng)及其查詢優(yōu)化4.1關系系統(tǒng)4.2關系系統(tǒng)的查詢優(yōu)化4.3查詢優(yōu)化的一班策略4.1關系系統(tǒng)一、關系系統(tǒng)的定義一個系統(tǒng)可定義為關系系統(tǒng),當且僅當它支持:(1)關系數(shù)據(jù)庫(2)支持選擇、投影和(自然)連接運算,對這些運算不必要求定義任何物理存取路徑。二、關系系統(tǒng)的分類1、表式系統(tǒng)僅支持關系數(shù)據(jù)結構,不支持集合級的操作。(表式系統(tǒng)不能算關系系統(tǒng)。)2、(最小)關系系統(tǒng)僅支持關系數(shù)據(jù)結構和三種關系操作。(許多微機關系系統(tǒng)如FoxPro等就屬于這一類。)3、關系完備的系統(tǒng)支持關系數(shù)據(jù)結構和所有的關系代數(shù)操作。(目前,DB2,SOL/DS,ORACLE等許多系統(tǒng)就屬于這一類。)4、全關系系統(tǒng)

2、這類系統(tǒng)支持關系模型的所有特征。特別是:數(shù)據(jù)結構中域的概念,實體完整性和參照完整性。(目前,大多數(shù)關系系統(tǒng)已不同程度上接近了這個目標?!?.2關系系統(tǒng)的查詢優(yōu)化查詢優(yōu)化在關系數(shù)據(jù)庫中有著非常重要的地位。關系查詢優(yōu)化是影響關系數(shù)據(jù)庫管理系統(tǒng)性能的關鍵因素。關系系統(tǒng)為了達到用戶可接受的性能必須進行查詢優(yōu)化。而關系數(shù)據(jù)語言的級別很高,使關系系統(tǒng)可以從關系表達式中分析查詢予以,提供了執(zhí)行查詢優(yōu)化的可能性。查詢優(yōu)化的總目標:選擇有效的策略,求得給定的關系表達式的值。一、一個實例eg:求選修了課程C2的學生姓名。用SQL語言表達:SELECTS.SNFROMS,SCWHERES.S#=SC.S#ANDS

3、C.C#=‘C2’;假定學生-課程數(shù)據(jù)庫中有1000個學生記錄,10000個選課記錄,其中選修C2課程的選課記錄為50個。系統(tǒng)可用多種等價的關系代數(shù)表達式來完成這一查詢Q1=πSN(σS.S#=SC.S#∧SC.C#=‘C2’(S×SC))Q2=πSN(σSC.C#=‘C2’(S∞SC))Q3=πSN(S∞σSC.C#=‘C2’(SC))分析以上幾種等價的關系代數(shù)表達式,可以看到由于查詢執(zhí)行的策略不同,查詢時間相差很大。(一)第一種情況1、計算廣義笛卡兒積設一個塊能裝10個S元組或100個SC元組,在內存中存放5塊S元組1塊SC元組,則讀取總塊數(shù)為:1000/10+1000/(10×5)×1

4、0000/100=2100塊其中讀S表100塊,讀SC表20遍,每遍100塊,若每秒讀20塊,則總計要花105秒。連接以后的元組數(shù)為103×104,設每塊能裝10個元組,則寫出這些塊要花106/20=5×104秒。2、作選擇操作依次讀入連接后的元組,按照選擇條件選取滿足要求的記錄,假定內存處理時間忽略。這一步讀取中間文件花費的時間需5×104秒(同寫中間文件一樣)。滿足條件的元組假設僅50個,均可放在內存。3、作投影操作把第2步的結果在SN上作投影輸出,得到最終結果。執(zhí)行查詢的總時間為2×5×104+105≈105秒(二)第二種情況1、計算自然連接讀取S和SC表的策略不變,總的讀取塊數(shù)仍為2

5、100塊花費105秒,但自然連接的結果比第一種情況大大減少,為104個,因此寫出這些元組時間104/10/20=50秒。2、讀取中間文件塊,執(zhí)行選擇運算,花費時間也為50秒。3、把連接結果投影輸出。第二種情況總的執(zhí)行時間≈105+50+50≈205秒。(三)第三種情況1、先對SC表作選擇運算,只需讀一遍SC表,存取100塊,花費時間為5秒。因為滿足條件的元組僅50個,不必使用中間文件。2、讀取S表,把讀入的S元組和內存中的SC元組作連接,也只需讀一遍S表共100塊,花費時間為5秒。3、把連接結果投影輸出。第三種情況總的執(zhí)行時間≈5+5≈10秒。這個簡單的例子才分說明了查詢優(yōu)化的必要性,同時也

6、給出一些查詢優(yōu)化方法的初步概念。如當有選擇和連接時,應當先做選擇,這樣參加連接的元組就可以大大減少?!?.3查詢優(yōu)化的一般策略1、選擇運算應盡可能先做。2、在執(zhí)行連接前對關系適當?shù)仡A處理。預處理方法主要有兩種,對關系排序和在連接屬性上建立索引。3、把投影運算和選擇運算同時進行。4、把投影同其前或其后的雙目運算結合起來,沒有必要為了去掉某些字段而掃描一遍關系。5、把某些選擇同在它前面要執(zhí)行的笛卡兒積結合起來成為一個連接運算。6、找出公共子表達式。

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。