有两种典型的搜索方法:
一是Selinger 在论文[1]中提到的,使用自底向上的动态规划,为减少搜索空间,只专注“左深树”查询计划(一个连接操作的右手边的输入必须是一个基表),以及尽可能避免“Cross Join”(保证在数据流中,求笛卡儿积的操作是出现在所有的连接之后)。
另一种搜索方法是基于级联式技(Cascade)、目标导向和自顶而下的搜索方案。在一些情况下,自顶向下搜索虽然可以降低一个优化器需要考虑的计划的数量,但同时产生了负面影响,即增加了优化器内存消耗。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。