云数据库 GaussDB-语句下推调优:语句下推介绍
语句下推介绍
目前, GaussDB 优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。
- 下推语句计划:指直接将查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。
- 分布式执行计划:指CN对查询语句进行编译和优化,生成计划树,再将计划树发送给DN进行执行,并在执行完毕后返回结果到CN。
- 发送语句的分布式执行计划:上述两种方式都不可行时,将可下推的查询部分组成查询语句(多为基表扫描语句)下推到DN进行执行,获取中间结果到CN,然后在CN执行剩下的部分。
在第3种策略中,要将大量中间结果从DN发送到CN,并且要在CN运行不能下推的部分语句,会导致CN成为性能瓶颈(带宽、存储、计算等)。在进行性能调优的时候,应尽量避免只能选择第3种策略的查询语句。
执行语句不能下推是因为语句中含有不支持下推的函数或者不支持下推的语法。一般都可以通过等价改写规避执行计划不能下推的问题。
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- GaussDB监控_GaussDB数据库监控_高斯数据库监控_华为云
- GaussDB分析_GaussDB数据库分析_高斯数据库分析_华为云
- GaussDB查询表结构_通配符字段查询表_高斯数据库查询表结构-华为云
- GaussDB案例指南_高斯数据库函数_高斯数据库案例指南_华为云
- 云数据库GaussDB(for MySQL)_兼容MySQL
- GaussDB性能_性能统计_高斯数据库性能-华为云
- 什么是Spark_如何使用Spark_Spark的功能是什么