如何在mongodb中更快地进行区分操作
一个集合中有30000000条记录。 当我用java对这个集合使用distinct命令时,大约需要4分钟,结果的计数大约是40000。 mongodb独特的运营是否如此低效? 我怎样才能提高效率呢 mongodb独特的运营是否如此低效 以3000万的记录?我想说4分钟实际上相当不错,我认为这和SQL一样快,可能比SQL快一点 在说它效率低下之前,我可能会在其他数据库中测试它 但是,查看性能的一种方法是查看字段是否首先被索引,以及该索引是否在RAM中,或者是否可以在没有页面抖动的情况下加载。只要字段有索引,Distinct()就可以使用索引 我怎样才能提高效率呢 您可以使用以下几种方法:如何在mongodb中更快地进行区分操作,mongodb,distinct,Mongodb,Distinct,一个集合中有30000000条记录。 当我用java对这个集合使用distinct命令时,大约需要4分钟,结果的计数大约是40000。 mongodb独特的运营是否如此低效? 我怎样才能提高效率呢 mongodb独特的运营是否如此低效 以3000万的记录?我想说4分钟实际上相当不错,我认为这和SQL一样快,可能比SQL快一点 在说它效率低下之前,我可能会在其他数据库中测试它 但是,查看性能的一种方法是查看字段是否首先被索引,以及该索引是否在RAM中,或者是否可以在没有页面抖动的情况下加载。只要字
- 增量映射每5分钟对一个唯一集合进行一次主集合的区分
- 并在保存时通过保存为两个集合(一个细节集合和一个唯一集合)预聚合唯一集合
db.collection.aggregate([
{ "$group": {
"_id": "$field",
"count": { "$sum": 1 }
}
)
将“$field”替换为希望从中获得不同计数的任何字段。$
在字段名的前面加上前缀以分配值
查看文档,特别是了解更多信息。好的,我将在字段上添加索引,然后重试。非常感谢。