905
微信
性能压测注意事项__快速入门_云数据库 HybridDB-阿里云
云数据库HybridDB(ApsaraDB HybridDB)是一种在线MPP大规模并行处理数据仓库服务。云数据库HybridDB基于Greenplum Database开源数据库项目,并由阿里云深度扩展支持OSS存储、JSON数据类型、HyperLogLog预估分析等功能特性。
性能方面注意事项
使用 云数据库HybridDB 时,在性能方面需要注意以下事项:
1) 云数据库HybridDB 实例缺省状态下,没有启用 Nested Loop(嵌套连接)。因此,对于只涉及或返回少部分数据的查询,性能可能不是最优的。例如下面的SQL语句。
select * from T1 join T2 on T1.c1 = T2.c1 where T1.c2 >= '230769548' and T1.c2 < '230769549' limit 100;
其特点是T1和T2表都比较大,T1上的选择条件(T1.c2 >= ‘230769548’ and T1.c2 < ‘23432442’)过滤了绝大多数数据记录,且有LIMIT子句,所以查询实际上只涉及总数据量中的一小部分。这种情况下,使用Nested Loop的连接方式是最优的。要使用Nested Loop连接,需要执行一下SET命令,如下所示。
show enable_nestloop ;
enable_nestloop
-----------------
off
SET enable_nestloop = on ;
show enable_nestloop ;
enable_nestloop
-----------------
on
explain select * from T1 join T2 on T1.c1 = T2.c1 where T1.c2 >= '230769548' and T1.c2 < '23432442' limit 100;
QUERY PLAN
-----------------------------------------------------------------------------------------------
Limit (cost=0.26..16.31 rows=1 width=18608)
-> Nested Loop (cost=0.26..16.31 rows=1 width=18608)
-> Index Scan using T1 on c2 (cost=0.12..8.14 rows=1 width=12026)
Filter: ((c2 >= '230769548'::bpchar) AND (c2 < '230769549'::bpchar))
-> Index Scan using T2 on c1 (cost=0.14..8.15 rows=1 width=6582)
Index Cond: ((c1)::text = (T1.c1)::text)
可以发现,T1和T2两张表是使用Nested Loop连接的,从而获得了最优的性能。
2)云数据库HybridDB 支持 ORCA 优化器。当执行一个较复杂的 SQL,并且发现性能不理想时,可以试试启用ORCA优化器进行优化。在数据库连接中,执行一个SET命令,即可启用ORCA(如下所示)。注意,SET命令作用在连接级别,只在同一连接内有效,对于新的连接需要重新执行SET,来启用ORCA。
EXPLAIN <SQL text>
SET optimizer = on;
EXPLAIN <SQL text>
在上面的例子中,我们在启用ORCA前后,分别使用EXPLAIN命令来查看查询计划。这样可以检查ORCA是否真正改变了SQL的查询计划。
3)目前 云数据库HybridDB 的存储支持两种压缩方式:zlib和RLE。RLE适用于数据中的相同值在物理上是连续存储的情况,zlib适用于其他情况。压缩方式可以在字段级别或表级别指定。具体参见文档
最后更新:2016-12-01 11:11:36
上一篇:
通过COPY数据导入__快速入门_云数据库 HybridDB-阿里云
下一篇:
客户端工具使用__快速入门_云数据库 HybridDB-阿里云
阿里云数据集成__数据传输软件_开发人员指南_E-MapReduce-阿里云
类目管理__媒体库管理_开发人员指南_视频点播-阿里云
查询App录制配置__直播流操作接口_API 手册_CDN-阿里云
运行SQL__快速开始_大数据计算服务-阿里云
创建环境变量__API分组相关接口_API_API 网关-阿里云
OSS转储快速使用__快速入门_归档存储-阿里云
如何备案?__备案基础介绍_备案须知_备案-阿里云
高速通道相关API的鉴权规则__借助RAM实现子账号对主账号资源访问_API使用手册_高速通道-阿里云
下载SDK__快速开始_移动数据分析-阿里云
视频管理__使用手册_视频点播-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云