现在有一个需求,在用 mongdb 做查询的时候要先做去重,比如说两个文档字段 name 的值一样的话就要拿另一个字段 priority 比较小的那个。我打算在查询的时候先分组然后再去筛选,但是我发现数据量大些比如几十万这样分组就比较耗性能了,有没有什么办法可以优化吗?
现在有一个需求,在用 mongdb 做查询的时候要先做去重,比如说两个文档字段 name 的值一样的话就要拿另一个字段 priority 比较小的那个。我打算在查询的时候先分组然后再去筛选,但是我发现数据量大些比如几十万这样分组就比较耗性能了,有没有什么办法可以优化吗?
|
msmmblApr 20, 2024
1
如果原来的表是 A ,另外搞一张表 B ,存储每一个唯一 name 下 priority 最小的那个 document ,每次 insert 和 update 表 A 的时候更新表 B 中对应同样 name 的文档
|
|
foolishcrabApr 20, 2024 via iPhone
2
几十万的表 mongo 毫无压力的,把表结构和 explain 发出来看看吧
|
|
BelmodeApr 20, 2024
3
name + priority 建立联合索引
|
|
msmmblApr 20, 2024
4
|