ADB在SQL解析和重写阶段会根据SQL本身自动选择最优的优化器来生成执行计划。对于AP复杂查询,启用ORCA优化器以生成更优的执行计划;对于TP实时写入、更新、删除和点查场景,以及AP简单查询分析场景,则使用PostgreSQL自带的经过分布式改造的Planner优化器。
AnalyticDB MySQL版(简称ADB)的查询优化器基于统计信息来估算不同执行计划的开销,并选择最佳的执行计划。优化器会自动选择Join Method和Join Order。对于Join Order,它通常使用Left Deep Tree策略适用于简单查询,而Bushy Tree用于更复杂的查询。在某些场景下,您可以通过SQL Hint reorder_joins 手动调整Join Order。例如,/+reorder_joins=false/ 可以打开手动调整,/+reorder_joins=true/ 则关闭,让系统自动选择。建议确保表有最新的统计信息,以帮助优化器做出更好的决策。自动收集统计信息和手动收集统计信息
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。