我的天呢,最近用MongoDB存储了22G的数据到数据库中,但查询速度太慢了,龟速,任何人都忍受不了。
要解决这个问题,最简单的办法就是创建索引。
后来发现在执行mongo查询时,是直接集合扫描,这样就要扫描1711929个集合,不是扫描索引的。
数据集采用的ftp://ftp.argo.org.cn/pub/ARGO/global/上的所有数据,
条件查询(耗时之久)
>db.argodata.find({"DATE":"2016-01-10"},{"LONGITUDE":1,"LATITUDE":1}).explain(true) { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "argo.argodata", "indexFilterSet" : false, "parsedQuery" : { "DATE" : { "$eq" : "2016-01-10" } }, "winningPlan" : { "stage" : "PROJECTION", "transformBy" : { "LONGITUDE" : 1, "LATITUDE" : 1 }, "inputStage" : { "stage" : "COLLSCAN", "filter" : { "DATE" : { "$eq" : "2016-01-10" } }, "direction" : "forward" } }, "rejectedPlans" : [ ] }, "executionStats |