云数据库 TaurusDB
云数据库 TaurusDB
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
-
用户指南
- 权限管理
- 购买实例
- 连接实例
- 使用数据库
- 数据迁移
- 实例管理
- 数据备份
- 数据恢复
- Serverless实例
- 只读节点
-
数据库代理(读写分离)
- GaussDB(for MySQL)数据库代理简介
- 使用GaussDB(for MySQL)数据库代理实现读写分离
-
变更数据库代理配置
- 修改GaussDB(for MySQL)代理的一致性级别
- 开启GaussDB(for MySQL)代理的连接池功能
- 开启GaussDB(for MySQL)代理的事务拆分功能
- 修改GaussDB(for MySQL)代理的路由模式
- 修改GaussDB(for MySQL)读写分离权重
- 修改GaussDB(for MySQL)代理的Multi-Statements处理模式
- 开启新节点自动加入GaussDB(for MySQL)代理
- 开启GaussDB(for MySQL)代理的访问控制功能
- 变更GaussDB(for MySQL)代理的规格
- 调整GaussDB(for MySQL)代理的节点数量
- 申请GaussDB(for MySQL)代理内网域名
- 修改GaussDB(for MySQL)代理端口
- 修改GaussDB(for MySQL)代理地址
- 修改GaussDB(for MySQL)代理参数
- GaussDB(for MySQL)代理绑定弹性公网IP
- 数据库代理生命周期
- 数据库代理内核版本
- 使用Hint语法实现GaussDB(for MySQL)读写分离
- 智能DBA助手
- 参数管理
- 安全与加密
- 应用无损透明(ALT)
- HTAP实时分析(标准版)
- RegionlessDB集群
- 监控与告警
- 日志与审计
- 任务中心
- GaussDB(for MySQL)标签管理
- GaussDB(for MySQL)配额管理
- 最佳实践
- 性能白皮书
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API(推荐)
- 查询数据库引擎的版本
- 查询数据库规格
-
实例管理
- 创建数据库实例
- 重启数据库实例
- 删除/退订数据库实例
- 创建只读节点
- 删除/退订只读节点
- 包年/包月实例存储扩容
- 修改实例名称
- 重置数据库密码
- 变更实例规格
- 查询专属资源池列表
- 查询专属资源信息详情
- 设置实例秒级监控
- 查询实例秒级监控
- 节点重启
- 内核版本升级
- 开关SSL
- 绑定弹性公网IP
- 解绑弹性公网IP
- 手动主备倒换
- 设置可维护时间段
- 修改安全组
- 修改内网地址
- 修改实例端口
- 修改实例备注
- 申请内网域名
- 修改内网域名
- 查询内核版本信息
- 设置自动变配
- 查询自动变配
- 资源预校验
- 查询实例列表
- 查询实例详情信息
- 批量查询实例详情
- 设置回收站策略
- 查询回收站策略
- 查询回收站实例信息
- 批量修改节点名称
- 查询自动变配历史记录
- 设置Serverless配置策略
- 修改节点故障倒换优先级
- 查询弹性公网IP
- 备份管理
- 参数模板管理
- 配额管理
- 数据库代理
- 日志管理
- 标签管理
- 数据库用户管理
- 数据库管理
- SQL限流
- 任务中心
- 智能诊断
-
HTAP-标准版
- 恢复StarRocks数据同步
- 暂停StarRocks数据同步
- 创建StarRocks实例
- 查询StarRocks实例
- 删除StarRocks实例
- 重启StarRocks实例
- 重启StarRocks节点
- StarRocks资源检查
- HTAP引擎资源查询
- 获取HTAP实例存储类型
- HTAP查询规格信息
- 查询HTAP实例列表
- 创建StarRocks数据同步
- 删除StarRocks数据同步
- 查询StarRocks数据同步状态信息
- HTAP数据同步库配置校验
- 查询StarRocks数据同步配置信息
- 查询StarRocks数据同步的库参数配置
- 查询StarRocks数据库
- 查询数据库账号
- 创建数据库账号
- 删除数据库账户
- 修改数据库账号密码
- 修改数据库账号权限
- HTAP-轻量版
- 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分页出现数据重复问题
- 参数类
- 性能资源类
- 基本使用类
- 视频帮助
- 通用参考
链接复制成功!
验证并行查询效果
本章节使用TPCH测试工具测试并行查询对22条QUERY的性能提升情况。
测试的实例信息如下:
- 实例规格:32 vCPUs | 256 GB
- 内核版本:2.0.26.1
- 并行线程数:16
- 测试数据量:100GB
操作步骤
- 生成测试数据。
- 请在https://github.com/electrum/tpch-dbgen下载TPCH共用源码。
- 请在下载的源码文件中,找到makefile.suite文件,并按照如下内容进行修改,修改完成后进行保存。
CC = gcc # Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata) # SQLSERVER, SYBASE, ORACLE # Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS, # SGI, SUN, U2200, VMS, LINUX, WIN32 # Current values for WORKLOAD are: TPCH DATABASE= SQLSERVER MACHINE = LINUX WORKLOAD = TPCH
- 在源码根目录下,执行下列命令,编译生成TPCH数据工具dbgen。
- 使用dbgen执行如下命令,生成TPCH数据100G。
- 登录目标TaurusDB实例,创建目标数据库,并使用如下命令创建TPCH的表。
CREATE TABLE nation ( N_NATIONKEY INTEGER NOT NULL, N_NAME CHAR(25) NOT NULL, N_REGIONKEY INTEGER NOT NULL, N_COMMENT VARCHAR(152)); CREATE TABLE region ( R_REGIONKEY INTEGER NOT NULL, R_NAME CHAR(25) NOT NULL, R_COMMENT VARCHAR(152)); CREATE TABLE part ( P_PARTKEY INTEGER NOT NULL, P_NAME VARCHAR(55) NOT NULL, P_MFGR CHAR(25) NOT NULL, P_BRAND CHAR(10) NOT NULL, P_TYPE VARCHAR(25) NOT NULL, P_SIZE INTEGER NOT NULL, P_CONTAINER CHAR(10) NOT NULL, P_RETAILPRICE DECIMAL(15,2) NOT NULL, P_COMMENT VARCHAR(23) NOT NULL ); CREATE TABLE supplier ( S_SUPPKEY INTEGER NOT NULL, S_NAME CHAR(25) NOT NULL, S_ADDRESS VARCHAR(40) NOT NULL, S_NATIONKEY INTEGER NOT NULL, S_PHONE CHAR(15) NOT NULL, S_ACCTBAL DECIMAL(15,2) NOT NULL, S_COMMENT VARCHAR(101) NOT NULL); CREATE TABLE partsupp ( PS_PARTKEY INTEGER NOT NULL, PS_SUPPKEY INTEGER NOT NULL, PS_AVAILQTY INTEGER NOT NULL, PS_SUPPLYCOST DECIMAL(15,2) NOT NULL, PS_COMMENT VARCHAR(199) NOT NULL ); CREATE TABLE customer ( C_CUSTKEY INTEGER NOT NULL, C_NAME VARCHAR(25) NOT NULL, C_ADDRESS VARCHAR(40) NOT NULL, C_NATIONKEY INTEGER NOT NULL, C_PHONE CHAR(15) NOT NULL, C_ACCTBAL DECIMAL(15,2) NOT NULL, C_MKTSEGMENT CHAR(10) NOT NULL, C_COMMENT VARCHAR(117) NOT NULL); CREATE TABLE orders ( O_ORDERKEY INTEGER NOT NULL, O_CUSTKEY INTEGER NOT NULL, O_ORDERSTATUS CHAR(1) NOT NULL, O_TOTALPRICE DECIMAL(15,2) NOT NULL, O_ORDERDATE DATE NOT NULL, O_ORDERPRIORITY CHAR(15) NOT NULL, O_CLERK CHAR(15) NOT NULL, O_SHIPPRIORITY INTEGER NOT NULL, O_COMMENT VARCHAR(79) NOT NULL); CREATE TABLE lineitem ( L_ORDERKEY INTEGER NOT NULL, L_PARTKEY INTEGER NOT NULL, L_SUPPKEY INTEGER NOT NULL, L_LINENUMBER INTEGER NOT NULL, L_QUANTITY DECIMAL(15,2) NOT NULL, L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL, L_DISCOUNT DECIMAL(15,2) NOT NULL, L_TAX DECIMAL(15,2) NOT NULL, L_RETURNFLAG CHAR(1) NOT NULL, L_LINESTATUS CHAR(1) NOT NULL, L_SHIPDATE DATE NOT NULL, L_COMMITDATE DATE NOT NULL, L_RECEIPTDATE DATE NOT NULL, L_SHIPINSTRUCT CHAR(25) NOT NULL, L_SHIPMODE CHAR(10) NOT NULL, L_COMMENT VARCHAR(44) NOT NULL);
- 使用如下命令,将生成的数据导入到TPCH的表中。
load data INFILE '/path/customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|'; load data INFILE '/path/region.tbl' INTO TABLE region FIELDS TERMINATED BY '|'; load data INFILE '/path/nation.tbl' INTO TABLE nation FIELDS TERMINATED BY '|'; load data INFILE '/path/supplier.tbl' INTO TABLE supplier FIELDS TERMINATED BY '|'; load data INFILE '/path/part.tbl' INTO TABLE part FIELDS TERMINATED BY '|'; load data INFILE '/path/partsupp.tbl' INTO TABLE partsupp FIELDS TERMINATED BY '|'; load data INFILE '/path/orders.tbl' INTO TABLE orders FIELDS TERMINATED BY '|'; load data INFILE '/path/lineitem.tbl' INTO TABLE lineitem FIELDS TERMINATED BY '|';
- 创建TPCH表的索引。
alter table region add primary key (r_regionkey); alter table nation add primary key (n_nationkey); alter table part add primary key (p_partkey); alter table supplier add primary key (s_suppkey); alter table partsupp add primary key (ps_partkey,ps_suppkey); alter table customer add primary key (c_custkey); alter table lineitem add primary key (l_orderkey,l_linenumber); alter table orders add primary key (o_orderkey);
- 请在https://github.com/dragansah/tpch-dbgen/tree/master/tpch-queries获取TPCH 22个查询query语句,并进行相应操作。
测试结果
通过采用16线程并行查询,其中的17条QUERY的性能得到明显提升,查询速度平均提升10倍以上。TPCH性能测试结果如下图所示。
图1 测试结果

父主题: 并行查询(PQ)