- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
- 用户指南
- 最佳实践
- 性能白皮书
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API(推荐)
- 查询数据库引擎的版本
- 查询数据库规格
-
实例管理
- 创建数据库实例
- 重启数据库实例
- 删除/退订数据库实例
- 创建只读节点
- 删除/退订只读节点
- 包年/包月实例存储扩容
- 修改实例名称
- 重置数据库密码
- 变更实例规格
- 查询专属资源池列表
- 查询专属资源信息详情
- 设置实例秒级监控
- 查询实例秒级监控
- 节点重启
- 内核版本升级
- 开关SSL
- 绑定弹性公网IP
- 解绑弹性公网IP
- 手动主备倒换
- 设置可维护时间段
- 修改安全组
- 修改内网地址
- 修改实例端口
- 修改实例备注
- 申请内网域名
- 修改内网域名
- 查询内核版本信息
- 设置自动变配
- 查询自动变配
- 资源预校验
- 查询实例列表
- 查询实例详情信息
- 批量查询实例详情
- 设置回收站策略
- 查询回收站策略
- 查询回收站实例信息
- 批量修改节点名称
- 查询自动变配历史记录
- 设置Serverless配置策略
- 修改节点故障倒换优先级
- 查询弹性公网IP
- 备份管理
- 参数模板管理
- 配额管理
- 数据库代理
- 日志管理
- 标签管理
- 数据库用户管理
- 数据库管理
- 流量管理
- 任务中心
- 智能诊断
-
HTAP-标准版
- 恢复StarRocks数据同步
- 暂停StarRocks数据同步
- HTAP数据同步表配置校验
- 创建StarRocks实例
- 查询StarRocks实例
- 删除StarRocks实例
- 重启StarRocks实例
- 重启StarRocks节点
- StarRocks资源检查
- HTAP引擎资源查询
- 获取HTAP实例存储类型
- HTAP查询规格信息
- 查询HTAP实例列表
- 创建StarRocks数据同步
- 删除StarRocks数据同步
- 查询StarRocks数据同步状态信息
- HTAP数据同步库配置校验
- 查询StarRocks数据同步配置信息
- 查询StarRocks数据同步的库参数配置
- 查询StarRocks数据库
- 查询数据库账号
- 创建数据库账号
- 删除数据库账户
- 修改数据库账号密码
- 修改数据库账号权限
- StarRocks实例规格变更
- 查询参数
- 修改参数
- StarRocks实例开启行列分流
- 参数对比
- StarRocks内核版本升级
- 多租特性
- API(即将下线)
- 权限策略和授权项
- 附录
- SDK参考
- 常见问题
-
故障排除
- 备份恢复
- 连接类
-
SQL类
- 建表时timestamp字段默认值无效
- 索引长度限制导致修改varchar长度失败
- delete大表数据后,再查询同一张表时出现慢SQL
- 更新emoji表情数据报错Error 1366
- 存储过程和相关表字符集不一致导致执行缓慢
- 报错ERROR [1412]的解决方法
- 存在外键的表无法删除
- GROUP_CONCAT结果不符合预期
- 创建二级索引报错Too many keys specified
- distinct与group by优化
- 为什么有时候用浮点数做等值比较查不到数据
- 开通数据库代理后,还是有大量select请求分发到主节点
- 表空间膨胀问题
- MySQL创建用户提示服务器错误(ERROR 1396)
- 执行alter table xxx discard/import tablespace报错
- 数据库报错Native error 1461的解决方案
- 创建表失败报错Row size too large的解决方案
- Order by limit分页出现数据重复问题
- 执行select * from sys.innodb_lock_waits报错
- 参数类
- 性能资源类
-
基本使用类
- 查看TaurusDB的存储容量
- 修改库名和修改表名
- 字符集和字符序的默认选择方式
- 自增字段值跳变的原因
- 表的自增AUTO_INCREMENT初值与步长
- 修改表的自增AUTO_INCREMENT值
- 自增主键达到上限,无法插入数据
- 自增字段取值
- 自增属性AUTO_INCREMENT为何未在表结构中显示
- 空用户的危害
- 慢日志显示SQL语句扫描行数为0
- 错误日志页面显示handle_sync_msg_from_slave my_net_read error:-1
- 执行SQL语句报错:ERROR 1290 (HY000): The MySQL server is running with the --sql-replica-on option so it cannot execute this statement的原因及解决方案
- 通用参考
链接复制成功!
开启并行查询
系统参数及状态变量说明
- 支持的系统参数如表1。
表1 系统参数 参数名称
级别
描述
force_parallel_execute
Global, Session
是否开启并行查询。当设置为“ON”时,表示查询SQL尽可能地使用并行执行;设置为“OFF”时,关闭并行查询优化。内核2.0.60.241200版本之后,支持“AUTO”选项,设置为“AUTO”系统会对默认的一些场景使用并行查询优化,对应场景是由pq_support_features_switch参数控制。
- 取值范围:ON, OFF, AUTO
- 默认值:OFF
pq_master_enable
Global
是否在主机开启并行查询,需要与参数force_parallel_execute配合使用,设置为“ON”时,如果force_parallel_execute为ON或AUTO,并行查询在主机生效;设置为"OFF"时,表示并行查询在主机不生效。只读节点不受该参数影响。
- 取值范围:ON, OFF
- 默认值:ON
parallel_max_threads
Global
并行执行的最大活跃线程个数。当并行执行的活跃线程超过该值时,新的查询将不允许启用并行执行。
- 取值范围:0-4294967295
- 默认值:64
parallel_default_dop
Global, Session
并行执行的默认并行度。当查询语句没有指定并行度时,使用该值。
- 取值范围:0-1024
- 默认值:4
parallel_cost_threshold
Global, Session
启用并行执行的代价阈值。只有当查询的执行代价超过该阈值时才有可能进行并行执行。
- 取值范围:0-4294967295
- 默认值:1000
parallel_queue_timeout
Global, Session
当不满足并行查询的条件时,请求并行执行的SQL等待超时时间。当等待时间超过该值后,则不再等待,开始进行单线程执行。
- 取值范围:0-4294967295
- 默认值:0
parallel_memory_limit
Global
并行执行可用的内存上限。当并行执行使用的内存量超过该值时,新的SQL查询将不会进行并行执行。
- 取值范围:0-4294967295
- 默认值:104857600
parallel_setup_cost
Global, Session
启动初始化并行执行的代价。用于估算并行执行的总代价。
- 取值范围:0-1000000000
- 默认值:1000
parallel_tuple_cost
Global, Session
并行执行消息传递单条记录的代价。用于估算并行执行的总代价。
- 取值范围:0-1000000
- 默认值:1.5
- 支持的状态变量如表2。
开启并行查询
支持通过设置系统参数和使用HINT语法两种方式,开启或关闭并行查询。
- 方法一:通过设置系统参数开启或关闭并行查询
在管理控制台的参数修改页面,通过设置系统参数,可以全局开启或关闭并行查询,并调整并行度。
通过参数“force_parallel_execute”控制是否强制启用并行执行。
通过参数“pq_master_enable”控制主机是否开启并行查询。
通过参数“parallel_default_dop”控制使用多少线程并行执行。
通过参数“parallel_cost_threshold”来控制启动并行查询的代价阈值,默认值为1000,不建议将该值设置的过小,因为简单查询不适合使用并行查询。
上述参数在使用过程中,支持动态修改,无需重启数据库。
也支持会话内修改并行查询并发度,修改启动并行查询的代价阈值,例如将并发度调整为8,最小执行代价调整为100,可参照如下进行设置:
SET parallel_default_dop=8; SET parallel_cost_threshold=100;
- 方法二:使用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也不会并行执行。