TDSQL-C MySQL 版 执行查询

TDSQL-C MySQL 版支持并行查询能力,可以通过控制台或命令行调整相关参数,为实例开启或关闭并行查询功能。

相关产品
TDSQL-C MySQL 版 产品页,含版本规格、价格与购买入口。

一、前提条件

·数据库版本:TDSQL-C MySQL 版8.0内核版本3.1.8及以上。

·使用 新增支持参数能力 需内核版本 TXSQL 8.0 3.1.15及以上。

二、参数说明

注意:说明:

注意:读写实例与只读实例均支持开启并行查询功能,但实例 CPU 核数需大于等于4。

你可通过控制台或命令行调整参数 txsql_max_parallel_worker_threads 和 txsql_parallel_degree 不为0,来开启当前实例的并行查询功能。参数的相关信息和具体设置建议如下。
参数信息

参数 类型 作用域 默认值 取值范围 说明
txsql_max_parallel_worker_threads Integer Global 0 0 – 1024 实例节点可用于并行查询的线程资源总数,设置为0则无并行线程可用,视为关闭并行查询功能。
txsql_parallel_degree Integer Global Session 4 0 – 1024 单条语句并行查询时可用的最大线程数(默认并行度)。设置为0时视为关闭并行查询功能。

设置建议

·并行度规格限制:txsql_parallel_degree 参数的数值表明单条语句并行查询使用的最大线程数,即并行查询的默认并行度,建议并行度不要超过实例 CPU 核数的二分之一。为保证稳定性,CPU 核数小于4的小规格集群将禁用并行查询功能,你将无法在控制台或使用命令行调整并行查询相关参数。

·SQL 语句在执行并行查询时将默认使用 txsql_parallel_degree 所设置的并行度,但用户可通过 hint 语句调整单条 SQL 语句的并行查询并行度,详细说明请参见 hint 语句控制。

·txsql_max_parallel_worker_threads 参数的值表明并行查询中实例可用于并行查询的线程数,txsql_max_parallel_worker_threads / txsql_parallel_degree 的值表明最多同时有多少条 SQL 语句可以执行并行查询。

·txsql_max_parallel_worker_threads 与 txsql_parallel_degree 共同控制并行查询功能的开启与关闭,当任意一个参数设置为0时,表示关闭并行查询功能。

TDSQL-C MySQL 版也提供了多种参数对并行查询的执行条件进行设置,方便你对业务进行个性化适配,保证业务稳定运行。设置后,TDSQL-C MySQL 版将会对语句的执行代价,表的行数,单条语句执行并行计划时所使用的内存等条件进行判断,确认每一条 SQL 语句是否允许执行并行查询。相关参数说明如下:

参数 类型 作用域 默认值 取值范围 说明
txsql_parallel_cost_threshold Numeric Global Session 50000 0 – 9223372036854775808 并行执行代价阈值,只有执行代价高于阈值的语句才会进行并行查询。
txsql_parallel_table_record_threshold Integer Global Session 5000 0 – 9223372036854775807 并行表行数阈值,只有行数高于阈值的表才能被选为并行表。
txsql_optimizer_context_max_mem_size Integer Global 8388608 0 – 9223372036854775807 单条语句可申请的并行查询计划环境最大内存限制。
txsql_parallel_execution_max_lob_size Integer Global Session 65536 128 – 9223372036854775807 单个溢出字段的内存限制。

三、通过控制台开启或关闭并行查询

你可通过 TDSQL-C MySQL 版控制台进入集群参数设置页面通过设置相关参数开启或关闭功能。

·设置 txsql_max_parallel_worker_threads 和 txsql_parallel_degree 不为0表示开启并行查询能力。

·设置 txsql_max_parallel_worker_threads 和 txsql_parallel_degree 任意一个为0表示关闭并行查询能力。

也可设置相关执行条件参数。控制台参数设置页面如下所示。详细操作方法请参考 设置实例参数。

四、通过 hint 语句对单条 SQL 语句指定并行执行方式

TDSQL-C MySQL 版支持对单条 SQL 语句进行指定并行执行方式。对单条 SQL 语句进行设置时,将采用 hint 语句的方式进行操作,详细方法请参照 hint 语句控制。

五、附录:新增参数说明

参数 变量类型 作用域 默认值 取值范围 说明
txsql_parallel_partition_verbose Boolean Global Session OFF ON/OFF 启用时 EXPLAIN ANALYZE 打印更详细的分区信息。
txsql_parallel_limit_enabled Boolean Global Session ON ON/OFF 启用时支持带 LIMIT 限定的有序数据流(无需额外排序)并行。
txsql_parallel_rollup_pushdown_threshold Integer Global Session 4 0 – 100 ROLL UP 下推算法的启用阈值。当 GROUP BY 字段数量大于此阈值时并行计算。
txsql_parallel_force_scan_enabled Boolean Global Session OFF ON/OFF 全表扫描或全索引扫描查询并行开关。启用时这两类查询才能并行。
txsql_parallel_force_range_enabled Boolean Global Session ON ON/OFF 索引范围扫描(RANGE/REF)并行开关。启用时这两类查询才能并行。
txsql_parallel_subselect_cost_threshold Numeric Global Session 50000 0 – DBL_MAX 并行执行代价阈值。只有估计执行代价高于阈值的子查询和 derived table 才能并行执行。
txsql_parallel_partition_threshold Integer Global Session 10000 0 – ULONG_MAX Nested Loop Join 并行内表 NDV 阈值。只有连接字段唯一值数量高于该阈值的表才能作为并行表。
txsql_parallel_force_probe_enabled Boolean Global Session OFF ON/OFF Hash Join 的 probe 表并行阈值。当 hash table 大于 join buffer size 时考虑 probe 表并行。
txsql_parallel_derived_enabled Boolean Global Session ON ON/OFF 启用时支持 derived table 单独并行。

六、相关文档

·查看并行查询

·并行查询指标

赞 (0)
上一篇 4天前
下一篇 4天前