mongodb 1亿4千万数据 count 卡死,求指导!!!

lxstar01 2013-07-11 03:46:06

问题一:
公司的mongodb的一个集合,数据量现在达到了1亿4千万条,42GB多,
昨天一同事说查询慢,结果找了找原因
分页时,卡在count上面了

执行语句 db.xxxx.find({testid:0}).count()
做了{testid:1}的索引

问题二:
昨天用了200w数据做了测试,结果发现,没有索引反而更快,testid=0的数据占了90%


想请教各位大神,有没有什么办法能解决的,或者有另外的方案。
谢谢了。
...全文
6445 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
郭梧悠 2013-09-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/chunqiuwei/article/details/11669885 这是我们项目的一个解决方法,不知道适不适合LZ
xuyanlu 2013-09-24
  • 打赏
  • 举报
回复
数据量大,难查询的话,可以试着结合sphinx全文检索来应用...而且索引肯定是要用的,没索引就像在大海捞针一般,很慢的
visualzhou 2013-09-22
  • 打赏
  • 举报
回复
在v2.4版本里,这种问题已经被优化了,速度有几十倍的提高。见 What’s New in MongoDB 2.4. 这里有一个同学的对比实验实验结果 可以在JIRA上查看实现细节
East271536394 2013-09-16
  • 打赏
  • 举报
回复
检查下索引是否正常,服务器的内存有多大呀。 mongodb 将索引的数据全部放在内存中,如果内存太少。可能有你的这个问题。
郭梧悠 2013-09-09
  • 打赏
  • 举报
回复
我现在也卡在这个问题上了,数据量和你差不多,如果LZ解决的话,麻烦通知我一下,thanks
liumin_0705 2013-09-06
  • 打赏
  • 举报
回复
查查看是不是索引坏了
QuickPai 2013-09-04
  • 打赏
  • 举报
回复
楼上的建议不错,这里给你看下stackoverflow上面的2个提问,也许对你有帮助: http://stackoverflow.com/questions/9703319/mongodb-ranged-pagination http://stackoverflow.com/questions/7228169/slow-pagination-over-tons-of-records-in-mongo
ai_li7758521 2013-08-29
  • 打赏
  • 举报
回复
建议: 1.对数据做压缩,包括字段名(使用最少的字符)。 2.大数据分页官方不建议:skip..limit... 建议转换为 db.collection.find(fieldName>XX).limit()
Wuerselen 2013-08-12
  • 打赏
  • 举报
回复
大家觉得一个Mongodb 的 collection 多少条数据合适,或者说多少个Obj合适 一个MongoDB的DB多少个Collection合适呢?
Wuerselen 2013-08-12
  • 打赏
  • 举报
回复 1
引用 1 楼 u011235983 的回复:
试试 db.xxxx.find({testid:0}).hint( {"$natural": 1}).count() ? 使用 hint( {"$natural": 1}) 后,这个查询就不使用索引了
学习了
HuiliQin 2013-07-11
  • 打赏
  • 举报
回复
试试 db.xxxx.find({testid:0}).hint( {"$natural": 1}).count() ? 使用 hint( {"$natural": 1}) 后,这个查询就不使用索引了
适用人群MongoDB4.x学习的人群,IT类工作人员课程概述MongoDB目前NoSql中最流行的数据库,互联网的必备神器,目前最新的版本4.x;本课程针对4.x进行搭建和讲解;MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。     MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率。MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。

1,746

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧