mongdb 9千万数据查询取数

假设单个文档类型:

{
    "_id" : ObjectId("5a19403b421aa92332bc2b32"),
    "id" : "95957f4a9eab11e787f1509a4c4be0cd",
    "incre" :1
    "city" "城市名称"
}

数据量,9千万,如何快速取出所有,city为北京市的所有id。
其中,incre为自增id。
我使用如下方法,100个线程,一次根据incre取出20条数据,从1开始轮询9千万的数据:

find({"$and":[{"city":"北京市"},{"incre":{"$gte":50,"$lt":70}}]})

假设查询,1秒,100线程,2000条数据耗费1秒。
9千万数据,需要750个小时。
有没有更快的方法?
求助大神。
谢了。

--------大佬都去哪里了---------

阅读 3.2k
1 个回答

经验上讲,我会觉得直接find({"city":"北京市"})可能还更快,不妨自己比较一下。
这里使用多线程会使复杂度大增,而实际带来的价值很有限甚至反作用,如果你对多线程的掌握还不够炉火纯青的话。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进