mysql-greenplum常见的问题以及优化

在这里插入图片描述
尽量不要使用limit,gp会进行全盘扫描来。
上图mysql修改成一下greenplum
在这里插入图片描述


在这里插入图片描述
子查询较多的可以进行拆分来减少执行时间。
在这里插入图片描述

不用经常修改的表,经常被引用到就用 列存
一定要指定分布策略,不过对业务不是很理解的话就要随机分布,如果对业务理解,保证数据分布后没有造成数据倾斜,就指定列分布

在这里插入图片描述
建表时可使用分布策略。hash分布(DISTRIBUTED BY)和随机分布(DISTRIBUTED RANDOMLY)两种分布策略,只适合存放经过处理基本最终无变化的历史数据,用来提供高效的查询访问。(使用表关系较强的不建议使用)。

解析说明:appendonly=true (),compresslevel=5,orientation=COLUMN
在greenplum里面有一种appendonly表,只能insert,不能update、delete的一种表,对于压缩表跟列存储来说,前提是必须是appendonly的表
Compresslevel 表示压缩等级 orientation=COLUMN 方向为列存

例:(appendonly=true,orientation=COLUMN,compresstype=zlib,compresslevel=5);
1.COMPRESSTYPE:ZLIB(更高压缩率)、QUICKLZ(更快压缩)、RLE_TYPE(运行长度编码)、none(无压缩、缺省)
2.COMPRESSLEVEL:ZLIB为1-9级可选,1级最低,9级最高;QUICKLZ仅1级压缩可选;RLE_TYPE为1-4级可选,1级快但压缩率低,4级较慢但压缩率高
3.BLOCKSIZE:8K~2M

如创建临时表是可以使用:
在这里插入图片描述
建表详细这里引用一位大哥的播客:http://blog.itpub.net/25548387/viewspace-690470/
在这里插入图片描述
使用强转会损耗时间。(可以优化)

select  gp_segment_id,count(1)  from  cm_facility 
GROUP BY  1
ORDER BY  1

可以以上语句来查询分布列的倾斜率
在这里插入图片描述

在这里插入图片描述
对于存在子查询的update语句可以。创建零时表然后再拆分插入。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值