鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mongdb 9千萬(wàn)數(shù)據(jù)查詢?nèi)?shù)

mongdb 9千萬(wàn)數(shù)據(jù)查詢?nèi)?shù)

假設(shè)單個(gè)文檔類型:

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

數(shù)據(jù)量,9千萬(wàn),如何快速取出所有,city為北京市的所有id。
其中,incre為自增id。
我使用如下方法,100個(gè)線程,一次根據(jù)incre取出20條數(shù)據(jù),從1開(kāi)始輪詢9千萬(wàn)的數(shù)據(jù):

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

假設(shè)查詢,1秒,100線程,2000條數(shù)據(jù)耗費(fèi)1秒。
9千萬(wàn)數(shù)據(jù),需要750個(gè)小時(shí)。
有沒(méi)有更快的方法?
求助大神。
謝了。

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

回答
編輯回答
朽鹿

經(jīng)驗(yàn)上講,我會(huì)覺(jué)得直接find({"city":"北京市"})可能還更快,不妨自己比較一下。
這里使用多線程會(huì)使復(fù)雜度大增,而實(shí)際帶來(lái)的價(jià)值很有限甚至反作用,如果你對(duì)多線程的掌握還不夠爐火純青的話。

2018年5月12日 16:15