1.概述
基本步驟:
1)語(yǔ)法分析與翻譯:查詢處理中系統(tǒng)首先必須把查詢語(yǔ)句翻譯成系統(tǒng)的內(nèi)部表示形式,翻譯過(guò)程類似于編譯器語(yǔ)法分析器的工作饶深。對(duì)用戶的查詢進(jìn)行語(yǔ)法檢查,比如關(guān)系名是否已經(jīng)存在等
?2)優(yōu)化?
3)執(zhí)行
本章針對(duì)關(guān)系模型進(jìn)行論述逛拱。我們將看到關(guān)系模型的代數(shù)基礎(chǔ)給查詢優(yōu)化帶來(lái)了諸多便利敌厘,給定一個(gè)查詢,通常有很多方法計(jì)算其結(jié)果:
要全面的說(shuō)明如何計(jì)算一個(gè)查詢朽合,不僅要提供關(guān)系代數(shù)表達(dá)式俱两,還要對(duì)該表達(dá)式加上注釋用于說(shuō)明如何實(shí)施每個(gè)操作的命令。
執(zhí)行原語(yǔ):加了有關(guān)“如何執(zhí)行”的注釋的關(guān)系代數(shù)運(yùn)算
流水線:幾個(gè)原語(yǔ)聚集而成
查詢執(zhí)行計(jì)劃:用于計(jì)算一個(gè)查詢的原語(yǔ)序列
查詢優(yōu)化是為查詢選擇最有效的查詢執(zhí)行計(jì)劃的過(guò)程曹步。(關(guān)系代數(shù)級(jí)進(jìn)行優(yōu)化+查詢語(yǔ)句處理的詳細(xì)策略的選擇)
? ? ? ? ? ? ? ? ? ? ? ? ? part2: 查詢代價(jià)的度量
1.磁盤存取代價(jià)被認(rèn)為是查詢執(zhí)行計(jì)劃代價(jià)的一個(gè)合理度量
2.簡(jiǎn)單地用磁盤塊傳送數(shù)作為實(shí)際代價(jià)的一個(gè)度量
? ? ? ? ? ? ? ? ? ? ? ? ? ? part3: 選擇運(yùn)算
查詢處理中宪彩,文件掃描是存取數(shù)據(jù)最低級(jí)的操作。文件掃描是用于定位讲婚,檢索滿足選擇條件的記錄的搜索算法尿孔。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?基本算法
假定關(guān)系保存在單個(gè)文件中,先考慮對(duì)該關(guān)系的選擇運(yùn)算:
1.A1 (線性搜索):所有塊都要讀取,看他們是否滿足選擇條件活合,所以E(A1)=b(r)雏婶,假定當(dāng)找到制定的記錄時(shí)需要掃描一般的數(shù)據(jù)塊,此時(shí)掃描就可以終止白指,那么算法的代價(jià)估計(jì)值為E(A1)=(b(r)/2)
2.A2 (二分法搜索):
舉個(gè)??:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?利用索引的選擇
索引結(jié)構(gòu)稱為存取路徑留晚,因?yàn)樗饕Y(jié)果提供了定位和存取數(shù)據(jù)的一條路徑。
使用索引的搜索算法稱為索引掃描