云数据库 GAUSSDB(FOR MYSQL)-开启并行查询:开启并行查询
开启并行查询
支持通过设置系统参数和使用HINT语法两种方式,开启或关闭并行查询。
- 方法一:通过设置系统参数开启或关闭并行查询
在管理控制台的参数修改页面,通过设置系统参数,开启和关闭并行查询,并设置并行度。
通过全局参数“force_parallel_execute”来控制是否强制启用并行执行。
使用全局参数“parallel_default_dop”来控制使用多少线程并行执行。
使用全局参数“parallel_cost_threshold”来控制当执行代价为多大时,开启并行执行。
上述参数在使用过程中,随时可以修改,无需重启数据库。
例如,想要强制开启并行执行,并且并发度为4,最小执行代价为0,可参照如下进行设置:
SET force_parallel_execute=ON SET parallel_default_dop=4 SET parallel_cost_threshold=0
- 方法二:使用HINT开启或关闭并行查询
使用HINT语法可以控制单个语句是否进行并行执行。在系统默认关闭并行执行的情况下, 可以使用hint对特定的SQL进行开启。反之,也可以禁止某条SQL进行并行执行。
开启并行执行:采用下面的HINT语法可以开启并行执行。
采用默认的参数配置:SELECT /*+ PQ() */ … FROM …
采用默认的参数配置,同时指定并发度为8:SELECT /*+ PQ(8) */ … FROM …
采用默认的参数配置,同时指定并行表为t1:SELECT /*+ PQ(t1) */ … FROM …
采用默认的参数配置,同时指定并行表为t1,并发度为8:SELECT /*+ PQ(t1 8) */ … FROM …
PQ HINT紧跟着SELECT关键字才能生效。PQ HINT的并发度参数dop正常取值范围[1, min(parallel_max_threads, 1024)]。
dop超出正常取值范围时,PQ不生效。
关闭并行执行:当并行查询开启时,可使用"NO_PQ"的hint语法关闭单条SQL的并行执行。
SELECT /*+ NO_PQ */ … FROM …
NO_PQ hint的优先级高于PQ hint,如果SQL语句出现NO_PQ hint,即使配置PQ hint,该单条SQL也不会并行执行。
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- 云数据库GaussDB(for MySQL)_兼容MySQL
- GaussDB架构_GaussDB数据库架构_高斯数据库架构-华为云
- GaussDB优势_GaussDB数据库优势_高斯数据库优势_华为云
- GaussDB架构_GaussDB分布式形态_高斯数据库架构-华为云
- RDS for MySQL审计日志_开启日志审计_数据库审计_华为云数据库RDS
- GaussDB硬件_金融级高可用_高斯数据库硬件-华为云
- GaussDB华为版本_大数据开发之Hadoop家族都有谁_高斯数据库华为版本_华为云
- GaussDB的核心技术_GaussDB金融级高可用_高斯数据库核心技术-华为云
- 连接GaussDB数据库_GaussDB的优势_华为高斯数据库连接