數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt

數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt

ID:50145967

大小:118.50 KB

頁數(shù):33頁

時間:2020-03-09

數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt_第1頁
數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt_第2頁
數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt_第3頁
數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt_第4頁
數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt_第5頁
資源描述:

《數(shù)據(jù)庫原理與技術(shù)教學(xué)課件陸勤第4章關(guān)系系統(tǒng)查詢優(yōu)化.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第四章 關(guān)系系統(tǒng)查詢優(yōu)化1一、由系統(tǒng)來優(yōu)化的原因優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計信息,優(yōu)化器可以根據(jù)這些信息選擇有效的執(zhí)行計劃,而用戶程序則難以獲得這些信息。如果數(shù)據(jù)庫的物理統(tǒng)計信息改變了,系統(tǒng)可以自動對查詢進(jìn)行重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計劃。在非關(guān)系系統(tǒng)中必須重寫程序。優(yōu)化器可以考慮數(shù)百種不同的執(zhí)行計劃,而程序員一般只能考慮有限的幾種可能性。優(yōu)化器中包括了很多復(fù)雜的優(yōu)化技術(shù),這些優(yōu)化技術(shù)往往只有最好的程序員才能掌握。系統(tǒng)的自動優(yōu)化相當(dāng)于使得所有人都擁有這些優(yōu)化技術(shù)。注意:查詢優(yōu)化是由系統(tǒng)而非用戶來做。2二、系統(tǒng)對查詢優(yōu)化的具體實現(xiàn)步

2、驟將查詢轉(zhuǎn)換成某種內(nèi)部表示,通常是語法樹。根據(jù)一定的等價變換規(guī)則把語法樹轉(zhuǎn)換成標(biāo)準(zhǔn)(優(yōu)化)形式。選擇低層的操作算法。生成查詢計劃。3三、查詢的執(zhí)行開銷在集中式數(shù)據(jù)庫中:總代價=I/O代價+CPU代價在多用戶環(huán)境下:總代價=I/O代價+CPU代價+內(nèi)存代價4一個實例例求選修了2號課程的學(xué)生姓名。用SQL語言表達(dá):SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno='2';多種等價的查詢:5一)、第一種情況1.計算廣義笛卡爾積把Student和SC的每個元組連接

3、起來的方法:在內(nèi)存中盡可能多地裝入某個表(如Student表)的若干塊元組,留出一塊存放另一個表(如SC表)的元組。然后把SC中的每個元組和Student中每個元組連接,連接后的元組裝滿一塊后就寫到中間文件上,再從SC中讀入一塊和內(nèi)存中的Student元組連接,直到SC表處理完。這時再一次讀入若干塊Studene元組,讀入一塊SC元組,重復(fù)上述處理過程,直到把Student表處理完。6設(shè):內(nèi)存分為6塊,一塊能裝10個Student元組或100個SC元組或10個連接后的元組。庫中有1000個學(xué)生記錄,10000個選課記錄,其中選修2號課程

4、的選課記錄為50個。若每秒讀寫20塊,則總計要花105s。連接后的元組數(shù)為103×104=107。設(shè)每塊能裝10個連接后的元組,則寫出這些塊要用106/20=5×104s。內(nèi)存讀取總塊數(shù)為:72.作選擇操作依次讀入連接后的元組,按照選擇條件選取滿足要求的記錄。假定內(nèi)存處理時間忽略。這一步讀取中間文件花費的時間(同寫中間文件一樣)需5×104s。滿足條件的元組假設(shè)僅50個,均可放在內(nèi)存。3.作投影把第2步的結(jié)果在Sname上作投影輸出,得到最終結(jié)果。執(zhí)行查詢的總時間為2×5×104+105s?105s所有內(nèi)存處理時間均忽略不計。8二)、第

5、二種情況1.計算自然連接讀取Student和SC表的策略不變,總的讀取塊數(shù)仍為2100塊花費105s。自然連接的結(jié)果為104個(庫中有10000個選課記錄)。寫出這些元組需時間為104/10/20=50s。2.讀取中間文件塊,執(zhí)行選擇運算,需50s。3.把第2步結(jié)果投影輸出??偟膱?zhí)行時間105+50+50=205s9三)、第三種情況1.先對SC表作選擇運算,只需讀一遍SC表,存取100塊花費時間為5s,滿足條件的元組僅50個,不必使用中間文件。2.讀取Student表,與內(nèi)存中的SC元組作連接。也只需讀一遍Student表共100塊花費

6、時間為5s。3.把連接結(jié)果投影輸出??偟膱?zhí)行時間為5+5=10s假如SC表在Cno上、Student表在Sno上有索引,讀取兩表的塊數(shù)可大大減少??偟拇嫒r間將進(jìn)一步減少到數(shù)秒。10四)、有索引的情況假如SC表的Cno字段上有索引,第l步就不必讀取所有的SC元組而只需讀取Cno=‘2’的那些元組(50個)。存取的索引塊和SC中滿足條件的數(shù)據(jù)塊大約總共3~4塊。若STUDENT表在Sno上也有索引,則第2步也不必讀取所有的STUDENT元組,因為滿足條件的SC記錄僅50個,涉及最多50個STUDENT記錄,因此讀取STUDENT表的塊數(shù)也

7、可大大減少??偟拇嫒r間將進(jìn)一步減少到數(shù)秒。11四、查詢優(yōu)化的一般準(zhǔn)則l.選擇運算應(yīng)盡可能先做。在優(yōu)化策略中這是最重要、最基本的一條。2.在執(zhí)行連接前對關(guān)系適當(dāng)?shù)仡A(yù)處理。建立索引或?qū)﹃P(guān)系排序P1613.把投影運算和選擇運算同時進(jìn)行。4.把投影同其前或其后的雙目運算結(jié)合起來,沒有必要為了去掉某些字段而掃描一遍關(guān)系。5.把某些選擇同在它前面要執(zhí)行的笛卡爾積結(jié)合起來成為一個連接運算,連接特別是等值連接運算要比同樣關(guān)系上的笛卡爾積省很多時間。6.找出公共子表達(dá)式。12五、關(guān)系代數(shù)等價變換規(guī)則關(guān)系代數(shù)表達(dá)式的優(yōu)化是查詢優(yōu)化的基本課題。而研究關(guān)系代

8、數(shù)表達(dá)式的優(yōu)化最好從研究關(guān)系表達(dá)式的等價變換規(guī)則開始。兩個關(guān)系表達(dá)式El和E2是等價的,可記為E1≡E2。13l.連接、笛卡爾積交換律設(shè)E1和E2是關(guān)系代數(shù)表達(dá)式,F(xiàn)是連接運算的條件,則有:E1×E2≡E2

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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