关于mongo两种方式的效率

2014-01-30 14:48:17 +08:00
 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()

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

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

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

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

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

© 2021 V2EX