不合理的问题:greenplum 一条简单语句上性能远低于postgresql?
GreenPlum环境: 1台 master host(内存:16G), 2台segment host(每台 2 segments,内存:16G), 版本:5.3.0
postgresql环境: 1台(硬件同GreenPlum的配置),版本:8.3.23
表: alert_log_sm_http 在pg与gp的大小相同,行数为:5000000行,ID为主键索引。
运行结果如下:
PG:
GP:
问题:
运行时间相差太大,分别为:PG:0.056ms,GP:1974.565ms。从explain的分析结果看,segmet做全表扫描的时间消耗太大。
这样的问题可以怎么解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Greenplum 默认禁用 Index Scan, 打开试试。
对于小数据量、简单查询,Greenplum 的分布式架构比单机的 Postgresql 慢是正常的。分布式事务、查询计划下发等都会带来不小的固定时间开销。
你可以使用基于GreenPlum4的修改版Deepgreen,这个版本提升了SQL的查询性能也是开源的。
如果是需要多台同步数据的话,这个同步的成本非常高昂,尤其是跨主机、跨网络。
希望能给你点参考