關(guān)系查詢處理與查詢優(yōu)化

關(guān)系查詢處理與查詢優(yōu)化

ID:27062905

大小:392.32 KB

頁(yè)數(shù):50頁(yè)

時(shí)間:2018-11-30

關(guān)系查詢處理與查詢優(yōu)化_第1頁(yè)
關(guān)系查詢處理與查詢優(yōu)化_第2頁(yè)
關(guān)系查詢處理與查詢優(yōu)化_第3頁(yè)
關(guān)系查詢處理與查詢優(yōu)化_第4頁(yè)
關(guān)系查詢處理與查詢優(yōu)化_第5頁(yè)
資源描述:

《關(guān)系查詢處理與查詢優(yōu)化》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第8章關(guān)系查詢處理與查詢優(yōu)化8.1關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理8.2關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)化8.3查詢優(yōu)化的一般準(zhǔn)則8.4代數(shù)優(yōu)化8.5物理優(yōu)化8.6小結(jié)本章要求與重難點(diǎn)掌握關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理步驟掌握RDBMS中查詢優(yōu)化技術(shù)(重點(diǎn)和難點(diǎn))第8章關(guān)系查詢處理與查詢優(yōu)化8.1關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理8.2關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)化8.3查詢優(yōu)化的一般準(zhǔn)則8.4代數(shù)優(yōu)化8.5物理優(yōu)化8.6小結(jié)8.1關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理1.查詢分析將查詢轉(zhuǎn)換成某種內(nèi)部表示,通常是語(yǔ)法樹。2.查詢檢查根據(jù)一定的等價(jià)變換規(guī)則把語(yǔ)法樹轉(zhuǎn)換成標(biāo)準(zhǔn)(優(yōu)化)形式。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理(續(xù))3.查詢優(yōu)化選

2、擇低層的操作算法對(duì)于語(yǔ)法樹中的每一個(gè)操作計(jì)算各種執(zhí)行算法的執(zhí)行代價(jià)選擇代價(jià)小的執(zhí)行算法4.查詢執(zhí)行生成查詢計(jì)劃(查詢執(zhí)行方案)查詢計(jì)劃是由一系列內(nèi)部操作組成的。第8章關(guān)系查詢處理與查詢優(yōu)化8.1關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理8.2關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)化8.3查詢優(yōu)化的一般準(zhǔn)則8.4代數(shù)優(yōu)化8.5物理優(yōu)化8.6小結(jié)8.2關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化查詢優(yōu)化的必要性查詢優(yōu)化極大地影響RDBMS的性能。查詢優(yōu)化的可能性關(guān)系數(shù)據(jù)語(yǔ)言的級(jí)別很高,使DBMS可以從關(guān)系表達(dá)式中分析查詢語(yǔ)義。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))用戶不必考慮如何最好地表達(dá)查詢以獲得較好的效率系統(tǒng)可以比用戶程序的優(yōu)化做得更好(1

3、)優(yōu)化器可以從數(shù)據(jù)字典中獲取許多統(tǒng)計(jì)信息,而用戶程序則難以獲得這些信息關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))(2)如果數(shù)據(jù)庫(kù)的物理統(tǒng)計(jì)信息改變了,系統(tǒng)可以自動(dòng)對(duì)查詢重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計(jì)劃。在非關(guān)系系統(tǒng)中必須重寫程序,而重寫程序在實(shí)際應(yīng)用中往往是不太可能的。(3)優(yōu)化器可以考慮數(shù)百種不同的執(zhí)行計(jì)劃,而程序員一般只能考慮有限的幾種可能性。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))查詢優(yōu)化的總目標(biāo)選擇有效策略,求得給定關(guān)系表達(dá)式的值關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))例:求選修了課程C2的學(xué)生姓名SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.Sn

4、oANDSC.Cno='2';關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))假設(shè)1:外存:Student:1000條,SC:10000條,選修2號(hào)課程:50條假設(shè)2:一個(gè)內(nèi)存塊裝元組:10個(gè)Student,或100個(gè)SC,內(nèi)存中一次可以存放:5塊Student元組,1塊SC元組和若干塊連接結(jié)果元組假設(shè)3:讀寫速度:20塊/秒假設(shè)4:連接方法:基于數(shù)據(jù)塊的嵌套循環(huán)法執(zhí)行策略1Q1=ПSname(бStudent.Sno=SC.Sno∧SC.Cno='2'(Student×SC))①Student×SC讀取總塊數(shù)=讀Student表塊數(shù)+讀SC表遍數(shù)*每遍塊數(shù)=1000/10+(1000/(10×

5、5))×(10000/100)=100+20×100=2100讀數(shù)據(jù)時(shí)間=2100/20=105秒不同的執(zhí)行策略,考慮I/O時(shí)間中間結(jié)果大小=1000*10000=107(1千萬(wàn)條元組)寫中間結(jié)果時(shí)間=10000000/10/20=50000秒②б讀數(shù)據(jù)時(shí)間=50000秒③П總時(shí)間=105+50000+50000秒=100105秒=27.8小時(shí)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))2.Q2=ПSname(бSC.Cno='2'(StudentSC))①讀取總塊數(shù)=2100塊讀數(shù)據(jù)時(shí)間=2100/20=105秒中間結(jié)果大小=10000(減少1000倍)寫中間結(jié)果時(shí)間=10000/10/2

6、0=50秒②б讀數(shù)據(jù)時(shí)間=50秒③П總時(shí)間=105+50+50秒=205秒=3.8分關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))3.Q2=ПSname(StudentбSC.Cno='2'(SC))①б讀SC表總塊數(shù)=10000/100=100塊讀數(shù)據(jù)時(shí)間=100/20=5秒中間結(jié)果大小=50條不必寫入外存②讀Student表總塊數(shù)=1000/10=100塊讀數(shù)據(jù)時(shí)間=100/20=5秒③П總時(shí)間=5+5秒=10秒關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))4.Q2=ПSname(StudentбSC.Cno='2'(SC))假設(shè)SC表在Cno上有索引,Student表在Sno上有索引①б讀SC表索引=讀S

7、C表總塊數(shù)=50/100<1塊讀數(shù)據(jù)時(shí)間中間結(jié)果大小=50條不必寫入外存關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)查詢優(yōu)化(續(xù))②讀Student表索引=讀Student表總塊數(shù)=50/10=5塊讀數(shù)據(jù)時(shí)間③П總時(shí)間<10秒第8章關(guān)系查詢處理與查詢優(yōu)化8.1關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處理8.2關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)化8.3查詢優(yōu)化的一般準(zhǔn)則8.4代數(shù)優(yōu)化8.5物理優(yōu)化8.6小結(jié)8.3查詢優(yōu)化的一般準(zhǔn)則選擇運(yùn)算應(yīng)盡可能先做目的:減小中間關(guān)系在執(zhí)行連接操作前對(duì)關(guān)系適當(dāng)進(jìn)行預(yù)處理按連接屬性排序在連接屬性上建立索引投影運(yùn)算和選擇運(yùn)算同時(shí)做目的:

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

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

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