欢迎光临散文网 会员登陆 & 注册

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

2023-07-19 23:41 作者:alexphil  | 我要投稿

1. 查询优化器的目标是找到一个正确的执行计划,而不是最优的执行计划。

2. 查询优化是一个难题,因为它是一个NP完全问题。

3. 查询优化器使用启发式和估算技术来估计执行计划的成本。

4. 查询优化器需要考虑许多设计决策,包括查询重写、关系代数等。

5. 不同的数据系统有不同的优化策略和实现方法。

6. 多个查询同时执行时,可以进行全局优化,以获得更好的性能。

7. 准备语句可以提高查询性能,但需要注意查询计划的稳定性。

8. 提示(hints)和固定优化器版本是保持查询计划稳定性的两种方法。

9. 提示可以告诉优化器如何生成查询计划,而固定优化器版本可以使用旧版本的优化器生成查询计划。

10. 查询计划的稳定性对于数据库性能至关重要,不仅仅是查询速度的快慢。

11. 在查询优化中,动态规划搜索是一种常用的方法,可以找到最佳的查询计划和物理操作符。

12. 查询优化中的一个关键问题是物理数据属性的表示,例如排序和压缩,需要在查询计划中进行额外的处理。

13. Postgres数据库使用遗传算法作为查询优化器的一部分,通过随机搜索和基因交叉来寻找最佳查询计划。

14. 使用高级语言定义查询优化规则和转换,可以更容易地维护和理解查询优化器的代码。

15. 随机搜索和遗传算法是查询优化中常用的方法,可以在较短时间内找到较好的查询计划,但不能保证找到最优解。

16. 在计算机科学中,存在一种叫做优化器生成器的工具,可以通过高级语言定义模式和规则,然后通过特定编译器生成优化器代码。

17. IBM Starburst是最早的优化器生成器之一,后来被用于DB2数据库系统。

18. Volcano和Cascades是基于优化器生成器的系统,它们使用了不同的搜索策略,分别是分层搜索和统一搜索。

19. 分层搜索是一种自底向上的搜索策略,通过一系列规则将逻辑计划转换为物理计划,并使用成本模型进行优化。

20. 统一搜索是一种自顶向下的搜索策略,通过一次性进行所有转换,并使用记忆化技术避免重复计算,以快速找到最优查询计划。


16 -【cmu15-721】【高级数据库系统】【卡内基梅隆大学】【中英字幕】的评论 (共 条)

分享到微博请遵守国家法律