17 -【cmu15-721】【高级数据库系统】【卡内基梅隆大学】【中英字幕】

1. 在查询优化中,我们需要找到成本最低的正确计划。
2. 查询优化器通过削减搜索空间来快速找到一个好的计划。
3. 逻辑查询优化是将逻辑查询计划转换为更接近最优计划的步骤。
4. 在逻辑查询优化中,我们可以应用一些转换规则来改善查询计划,如将谓词下推、消除笛卡尔积和投影下推等。
5. 物理查询优化需要使用成本模型来选择最优的物理操作符。
6. 在优化器中,我们需要考虑数据的物理形式、排序和压缩方式。
7. 在自底向上的方法中,我们从空白状态开始,逐步生成下一步可以进行的操作,而在自顶向下的方法中,我们需要在生成之前检查是否违反了规则。
8. 在优化器中,我们可以使用规则和模式来定义和匹配查询计划中的优化任务。
9. 我们可以使用优先级来定义应用转换的顺序,并根据实际情况进行动态调整。
10. 表达式和组是优化器中的重要概念,用于表示查询计划中的逻辑和物理操作。
11. 在Cascades优化器中,物理表达式是逐步生成的,而不是一次性生成的。
12. 使用多表达式可以减少需要考虑的表达式数量。
13. Memo表是一个哈希表,用于存储已经计算过的最佳计划。
14. 通过应用转换规则,可以将逻辑表达式转换为物理表达式。
15. 优化器使用分支限界搜索和最优原则来构建查询计划。
16. 使用物理连接算法将逻辑多表达式转换为A join B、B join A等不同的物理操作符。
17. 在查询优化过程中,通过查询优化器的缓存表,可以避免再次计算访问表A和表B的代价。
18. 在查询优化过程中,可以根据不同的连接顺序应用多种转换规则,以找到最优的查询计划。
19. 在查询优化过程中,可以考虑索引扫描产生的有序结果,以提高查询性能。
20. 在查询优化过程中,可以根据时间、转换次数或成本估计等因素决定何时停止优化,以提高查询效率。
21. 这个视频讲述了基于成本的搜索算法,其中包括级联的部分,使用了树遍历和备忘录表。
22. 该算法分为三个阶段,每个阶段依次应用,并在每个阶段结束后检查当前计划是否足够好,如果是,则停止并不继续下一个阶段,否则扩展并进入下一个阶段。
23. 他们还讨论了如何根据查询的特征动态决定下一个阶段要考虑的转换规则,以提高查询性能。
24. CalSight是一个开源项目,作为一个独立的查询优化器,可以支持多种SQL方言,并将其转换为内部表示形式,并生成物理计划。
25. SQL Store是一个分布式查询优化器,采用分层的自下而上搜索方法,并将物理计划转换回SQL,然后发送给执行节点进行执行。