关于mongo两种方式的效率

2014 年 1 月 30 日
 lzt163
想请教个问题
两个Collection 如
A: {_id:..., pid:1000}
B: {_id:..., rid:10000, pid:1000, flag: 1}

我需要的是在A中查到一个集合
并且需要用A的pid在B中统计flag为1或0的记录的数量
B中的读写频繁 但一般只做插入
A大概1W的记录 B可能会上100W的记录

两种方法
1 在A中加统计数量的字段count B中有变话则修改A中count
2 像上面所说用每条A查询B.find(...).count()

哪一种会效率高一些 并且缓存空间不会占用太大
5431 次点击
所在节点    MongoDB
6 条回复
czheo
2014 年 1 月 30 日
1吧 count快不了
huoxiaochai
2014 年 1 月 30 日
慎用mongo,天坑地坑人坑
breeswish
2014 年 1 月 31 日
如果B规模那么大当然是对A使用$inc来记录count效率高多了咯,虽然B可以加索引但是count效率很大程度上取决于数据(不过这样的话A不就是个cache么…
lzt163
2014 年 1 月 31 日
@breeswish 恍然悟到了什么 感谢
xiaoyukid
2014 年 2 月 1 日
@lzt163 求分享
lzt163
2014 年 2 月 5 日
@xiaoyukid 是我太蠢了 忘记了$inc 这个好东西...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/98698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX