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

1. 查詢優(yōu)化器的目標是找到一個正確的執(zhí)行計劃,而不是最優(yōu)的執(zhí)行計劃。
2. 查詢優(yōu)化是一個難題,因為它是一個NP完全問題。
3. 查詢優(yōu)化器使用啟發(fā)式和估算技術來估計執(zhí)行計劃的成本。
4. 查詢優(yōu)化器需要考慮許多設計決策,包括查詢重寫、關系代數(shù)等。
5. 不同的數(shù)據(jù)系統(tǒng)有不同的優(yōu)化策略和實現(xiàn)方法。
6. 多個查詢同時執(zhí)行時,可以進行全局優(yōu)化,以獲得更好的性能。
7. 準備語句可以提高查詢性能,但需要注意查詢計劃的穩(wěn)定性。
8. 提示(hints)和固定優(yōu)化器版本是保持查詢計劃穩(wěn)定性的兩種方法。
9. 提示可以告訴優(yōu)化器如何生成查詢計劃,而固定優(yōu)化器版本可以使用舊版本的優(yōu)化器生成查詢計劃。
10. 查詢計劃的穩(wěn)定性對于數(shù)據(jù)庫性能至關重要,不僅僅是查詢速度的快慢。
11. 在查詢優(yōu)化中,動態(tài)規(guī)劃搜索是一種常用的方法,可以找到最佳的查詢計劃和物理操作符。
12. 查詢優(yōu)化中的一個關鍵問題是物理數(shù)據(jù)屬性的表示,例如排序和壓縮,需要在查詢計劃中進行額外的處理。
13. Postgres數(shù)據(jù)庫使用遺傳算法作為查詢優(yōu)化器的一部分,通過隨機搜索和基因交叉來尋找最佳查詢計劃。
14. 使用高級語言定義查詢優(yōu)化規(guī)則和轉(zhuǎn)換,可以更容易地維護和理解查詢優(yōu)化器的代碼。
15. 隨機搜索和遺傳算法是查詢優(yōu)化中常用的方法,可以在較短時間內(nèi)找到較好的查詢計劃,但不能保證找到最優(yōu)解。
16. 在計算機科學中,存在一種叫做優(yōu)化器生成器的工具,可以通過高級語言定義模式和規(guī)則,然后通過特定編譯器生成優(yōu)化器代碼。
17. IBM Starburst是最早的優(yōu)化器生成器之一,后來被用于DB2數(shù)據(jù)庫系統(tǒng)。
18. Volcano和Cascades是基于優(yōu)化器生成器的系統(tǒng),它們使用了不同的搜索策略,分別是分層搜索和統(tǒng)一搜索。
19. 分層搜索是一種自底向上的搜索策略,通過一系列規(guī)則將邏輯計劃轉(zhuǎn)換為物理計劃,并使用成本模型進行優(yōu)化。
20. 統(tǒng)一搜索是一種自頂向下的搜索策略,通過一次性進行所有轉(zhuǎn)換,并使用記憶化技術避免重復計算,以快速找到最優(yōu)查詢計劃。
16 -【cmu15-721】【高級數(shù)據(jù)庫系統(tǒng)】【卡內(nèi)基梅隆大學】【中英字幕】的評論 (共 條)
