17 -【cmu15-721】【高級數(shù)據(jù)庫系統(tǒng)】【卡內(nèi)基梅隆大學(xué)】【中英字幕】

1. 在查詢優(yōu)化中,我們需要找到成本最低的正確計(jì)劃。
2. 查詢優(yōu)化器通過削減搜索空間來快速找到一個(gè)好的計(jì)劃。
3. 邏輯查詢優(yōu)化是將邏輯查詢計(jì)劃轉(zhuǎn)換為更接近最優(yōu)計(jì)劃的步驟。
4. 在邏輯查詢優(yōu)化中,我們可以應(yīng)用一些轉(zhuǎn)換規(guī)則來改善查詢計(jì)劃,如將謂詞下推、消除笛卡爾積和投影下推等。
5. 物理查詢優(yōu)化需要使用成本模型來選擇最優(yōu)的物理操作符。
6. 在優(yōu)化器中,我們需要考慮數(shù)據(jù)的物理形式、排序和壓縮方式。
7. 在自底向上的方法中,我們從空白狀態(tài)開始,逐步生成下一步可以進(jìn)行的操作,而在自頂向下的方法中,我們需要在生成之前檢查是否違反了規(guī)則。
8. 在優(yōu)化器中,我們可以使用規(guī)則和模式來定義和匹配查詢計(jì)劃中的優(yōu)化任務(wù)。
9. 我們可以使用優(yōu)先級來定義應(yīng)用轉(zhuǎn)換的順序,并根據(jù)實(shí)際情況進(jìn)行動(dòng)態(tài)調(diào)整。
10. 表達(dá)式和組是優(yōu)化器中的重要概念,用于表示查詢計(jì)劃中的邏輯和物理操作。
11. 在Cascades優(yōu)化器中,物理表達(dá)式是逐步生成的,而不是一次性生成的。
12. 使用多表達(dá)式可以減少需要考慮的表達(dá)式數(shù)量。
13. Memo表是一個(gè)哈希表,用于存儲已經(jīng)計(jì)算過的最佳計(jì)劃。
14. 通過應(yīng)用轉(zhuǎn)換規(guī)則,可以將邏輯表達(dá)式轉(zhuǎn)換為物理表達(dá)式。
15. 優(yōu)化器使用分支限界搜索和最優(yōu)原則來構(gòu)建查詢計(jì)劃。
16. 使用物理連接算法將邏輯多表達(dá)式轉(zhuǎn)換為A join B、B join A等不同的物理操作符。
17. 在查詢優(yōu)化過程中,通過查詢優(yōu)化器的緩存表,可以避免再次計(jì)算訪問表A和表B的代價(jià)。
18. 在查詢優(yōu)化過程中,可以根據(jù)不同的連接順序應(yīng)用多種轉(zhuǎn)換規(guī)則,以找到最優(yōu)的查詢計(jì)劃。
19. 在查詢優(yōu)化過程中,可以考慮索引掃描產(chǎn)生的有序結(jié)果,以提高查詢性能。
20. 在查詢優(yōu)化過程中,可以根據(jù)時(shí)間、轉(zhuǎn)換次數(shù)或成本估計(jì)等因素決定何時(shí)停止優(yōu)化,以提高查詢效率。
21. 這個(gè)視頻講述了基于成本的搜索算法,其中包括級聯(lián)的部分,使用了樹遍歷和備忘錄表。
22. 該算法分為三個(gè)階段,每個(gè)階段依次應(yīng)用,并在每個(gè)階段結(jié)束后檢查當(dāng)前計(jì)劃是否足夠好,如果是,則停止并不繼續(xù)下一個(gè)階段,否則擴(kuò)展并進(jìn)入下一個(gè)階段。
23. 他們還討論了如何根據(jù)查詢的特征動(dòng)態(tài)決定下一個(gè)階段要考慮的轉(zhuǎn)換規(guī)則,以提高查詢性能。
24. CalSight是一個(gè)開源項(xiàng)目,作為一個(gè)獨(dú)立的查詢優(yōu)化器,可以支持多種SQL方言,并將其轉(zhuǎn)換為內(nèi)部表示形式,并生成物理計(jì)劃。
25. SQL Store是一個(gè)分布式查詢優(yōu)化器,采用分層的自下而上搜索方法,并將物理計(jì)劃轉(zhuǎn)換回SQL,然后發(fā)送給執(zhí)行節(jié)點(diǎn)進(jìn)行執(zhí)行。