freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第6章查詢處理和優(yōu)化-資料下載頁(yè)

2025-10-15 15:07本頁(yè)面

【導(dǎo)讀】結(jié)果的處理過(guò)程。對(duì)于常見(jiàn)的例行事務(wù),編譯方式可提高性能。對(duì)于簡(jiǎn)短的即時(shí)查詢,解釋方式靈活實(shí)用。規(guī)則優(yōu)化僅根據(jù)啟發(fā)式規(guī)則選擇執(zhí)行的策略進(jìn)行優(yōu)化。代數(shù)優(yōu)化對(duì)查詢進(jìn)行等效變換,以減少執(zhí)行開(kāi)銷。選擇、投影操作通常能夠有效地減小關(guān)系的大小。達(dá)式,以避免重復(fù)運(yùn)算。無(wú)連接條件的情況,此時(shí)的連接運(yùn)算成為迪卡爾乘積。以WHERE子句對(duì)應(yīng)選擇操作,生成原始查詢樹(shù)。、迪卡爾乘積的結(jié)合律,按照小關(guān)系優(yōu)先做的原則,重新安排連接的順序。,以消除對(duì)查詢無(wú)用的屬性。以上所討論的都是非嵌套查詢。嵌套查詢比較復(fù)雜,

  

【正文】 件)中不填入 R、 S的實(shí)際元組,而是代之以元組的 tid,從而大大的縮小散列文件,使其有可能在內(nèi)存中建立,而僅需對(duì) R、 S各掃描一次。 建立散列文件需要對(duì) R、 S各掃描一次,且關(guān)系 R和S一般不會(huì)對(duì)連接屬性進(jìn)行簇集。故而,每向散列文件加入一個(gè)元組,都需要一次 I/O操作。 如何減少 I/O次數(shù) ? 掃描 R和 S時(shí),取出 ?A(R)、 ?B(S), 附在相應(yīng)的 tid后,連接時(shí)以桶為單位,按 ?A(R)=?B(S)找出匹配元組的 tid對(duì)。 問(wèn)題: 似乎多此一舉!匹配元組的 tid一定在同一桶中!為什么還要按 ?A(R)=?B(S)找出匹配元組?這么做有必要么? 注意: A=B ? h(A)=h(B), 但不一定有: h(A)=h(B) ? A=B 在取實(shí)際元組時(shí),為減少物理塊訪問(wèn),可將各桶中,匹配元組的 tid按塊分類,一次集中取出同一塊中所需的所有元組,當(dāng)然這需要較大的內(nèi)存開(kāi)銷。 連接方法的啟發(fā)式規(guī)則 1)兩個(gè)關(guān)系都已按連接屬性排序,則優(yōu)先用排序歸并法; 兩個(gè)關(guān)系中已有一個(gè)關(guān)系按連接屬性排序,另一個(gè)關(guān)系較 小,也可先對(duì)未排序關(guān)系按連接屬性排序,再用排序歸并 法。 2)兩個(gè)關(guān)系中有一個(gè)關(guān)系在連接屬性上有索引(特別是 簇集索引)或散列,可以另一關(guān)系為外關(guān)系,順序掃描, 并利用內(nèi)關(guān)系上的索引或散列尋找其匹配元組,以代替多 遍掃描。 3)不具備上述條件且關(guān)系較小,可用嵌套循環(huán)法。 4)不具備 1, 2, 3規(guī)則,可用散列連接法。 投影操作的實(shí)現(xiàn) 一般與選擇、連接同時(shí)進(jìn)行,無(wú)需附加的 I/O開(kāi)銷。 若投影屬性集中不包含主鍵,則投影結(jié)果中 可能出現(xiàn)重復(fù)元組。 消除重復(fù)元組可以用排序或散列等方法 。 散列法:將投影結(jié)果按某一屬性或多個(gè)屬性散列成一個(gè)文件,當(dāng)一個(gè)元組被散列到一個(gè)桶中時(shí),可檢查是否與桶中已有元組重復(fù)。 用排序法消除重復(fù)元組 對(duì)關(guān)系 R的每個(gè)元組 t, 生成 t[投影屬性集 ],并存于 T’中; /* T’ 是未消除重復(fù)元組的投影結(jié)果 */ If 投影屬性集 含有 R的主鍵 then T?T’ else{T’按所有屬性排序; i?1,j?2。 while(i?n) do{輸出元組 T’(i)到 T。 while T’(i)= T’(j) do j?j+1。 /*消除重復(fù)元組,設(shè)有偽元組 T’[n+1]?T’[n]*/ i?j,j?i+1。 } } 集合操作 常用集合操作:笛卡爾乘積、并、交、差等。 設(shè)關(guān)系 R、 S并兼容,對(duì) R、 S進(jìn)行并(交、差)操作,可以先將 R和 S按同一屬性(通常選用主鍵)排序,然后掃描兩個(gè)關(guān)系,選出所需的元組。 笛卡爾乘積將兩個(gè)關(guān)系的元組無(wú)條件地互相拼接, 一般用嵌套循環(huán)法實(shí)現(xiàn),做起來(lái)很費(fèi)時(shí),結(jié)果要比參與運(yùn)算的關(guān)系大的多。應(yīng)盡量少用! 散列是上述并交差操作的另一種求解方法 : 將關(guān)系 R散列到一個(gè)散列文件中,再將 S散列到同一文件中。同時(shí)檢查桶中有無(wú)重復(fù)元組。對(duì)于并,不再插入重復(fù)元組;對(duì)于交,選取重復(fù)元組;對(duì)于差,從桶中取消與 S重復(fù)的元組。 組合操作 有時(shí),多個(gè)操作組合起來(lái)同時(shí)進(jìn)行,如投影和選擇操作組合起來(lái)執(zhí)行(消除重復(fù)元組另外單獨(dú)進(jìn)行),可提高效益。 還可以在更大范圍內(nèi),將多個(gè)操作組合起來(lái)執(zhí)行。 R S 1 2 1? 2? 假設(shè)連接用嵌套循環(huán)法, R為外關(guān)系, S為內(nèi)關(guān)系, R的選擇、投影可在掃描 R時(shí)執(zhí)行, S的選擇、投影可在首次掃描 S時(shí)執(zhí)行,并將選擇、投影的結(jié)果存入臨時(shí)文件,之后各輪只需掃描臨時(shí)文件即可。 最后一個(gè)投影操作,可在生成連接結(jié)果的同時(shí)進(jìn)行。 結(jié)束語(yǔ) 在執(zhí)行前進(jìn)行優(yōu)化稱為 靜態(tài)優(yōu)化 ,只能利用統(tǒng)計(jì)數(shù)據(jù),有時(shí)不一定準(zhǔn)。 在查詢執(zhí)行時(shí)進(jìn)行優(yōu)化稱為 動(dòng)態(tài)優(yōu)化 ,用實(shí)際執(zhí)行結(jié)果估算代價(jià),比較符合實(shí)際,但每次執(zhí)行都要優(yōu)化,不適于編譯實(shí)現(xiàn),也增加了執(zhí)行時(shí)間。只能利用統(tǒng)計(jì)數(shù)據(jù),有時(shí)不一定準(zhǔn)。另外, 優(yōu)化時(shí),要等待中間結(jié)果,增加了等待時(shí)間和數(shù)據(jù)的相關(guān)性,不利于并行性 。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1