数据库同步工具
sqlserver,Mysql数据同步软件

【巨杉数据库Sequoiadb】用pg对500W数据进行group by操作,耗时过长50秒)

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

[用户咨询]?

使用sequoiasql-postgresql创建关联表并存储500W数据。在创建索引的情况下,使用pg进行简单的分组查询,平均时间为50秒,是否可以进一步优化? ?

【问题描述】?

1.集群部署?

?三个主机对应一个分区组,并且每个主机都部署有coord,cata和data节点。 ?

2.表属性?

?一个500w数据关联表b_qt_swdj和一个800w数据pg本机表b_qt_swdj1,这两个表具有相同的结构,共39个字段。 ?

3.样本和陈述?

在关联的表上执行查询:

? ①选择sw_scjy_yb,将(se_scjy_yb)计数为sw_scjy_yb对b_qt_swdj组的计数;

? ②从b_qt_swdj中选择计数(1);

在本机表上执行查询:

? ③选择sw_scjy_yb,将(se_scjy_yb)计数为来自sw_scjy_yb的b_qt_swdj1组的计数;

? ④从b_qt_swdj1中选择计数(1);

使用db内置SQL执行,花费了57秒。 ②需要33秒。 ?

用pg执行①,这需要50秒。 ②需要44秒。

用pg进行③,这需要8秒钟。执行④,这需要3秒钟。 ?

4.网络带宽?

传输数据时约为46MB/S。 ?

5.有关屏幕截图,请参阅附件的”屏幕截图III”

【解】?

选择sw_scjy_yb,将计数(se_scjy_yb)作为sw_scjy_yb的FROM b_qt_swdj1组的计数;用pg花费的时间几乎与使用sdb内置SQL花费的时间相同,两者均为50S左右。与pg没有多大关系。 ?

从pg的访问计划(请参见屏幕截图3)来看,大多数时间还花在了选择上。

建议1:您应该考虑在sdb端对表进行分区,以改善数据提取并发性,从而提高性能。 ?

建议2:对于大型表的统计信息,建议使用SparkSQL作为sql引擎。 ?

从” ITPUB博客”中,链接:http://blog.itpub.net/69935160/viewspace-2653611/,如果您需要转载,请注明出处,否则,您将承担责任。

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » 【巨杉数据库Sequoiadb】用pg对500W数据进行group by操作,耗时过长50秒)

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们