CNode

mongodb 的聚合性能问题

分享
CCN-Sean发布于11 年前最后回复11 年前10 回复13328 浏览0 收藏

我有一张表300万数据,用3台机器做了mongodb的分片集群,执行了一下聚合的group,耗时8s左右。就是选了2列做分组汇总。这个性能正常吗?用的是aggregate的group,用mapreduce会更优么?

查看回复

回复 (10)

C
CN-Sean#1·11 年前

分片集群的片键就是索引有3个,数据量是300万条,free schema,所以除了片键,没有列是相同的。不过我试过200万数据固定10列,性能一样。不筛选,我就要统计这么多数据的汇总结果

A
alsotang#2·11 年前

这。。。数据量和索引情况完全不明。人家怎么帮助你

话说用上索引了吗?300万的量,筛选之后的数据量是多大?如果没做筛选的话,8s感觉也还是慢。如果有筛选的话,假设筛了之后只有 15w,那么会不会是索引没加之类的?

我印象中,aggregate 是对于 mapreduce 的封装。用哪个性能都一样。

B
bendise#6·11 年前

怎么说呢一开始就不建议业务数据用mongodb,一旦数据量大不容易做报表统计,解决办法换mysql,300万数据对于mysql不分片照样没问题 自豪地采用 CNodeJS ionic

W
wencan#7·11 年前
W
wencan#10·11 年前

排序可以提升group效率

参与回复
登录后即可参与回复。登录