Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB中的地理空间索引对性能没有影响_Mongodb - Fatal编程技术网

MongoDB中的地理空间索引对性能没有影响

MongoDB中的地理空间索引对性能没有影响,mongodb,Mongodb,我试图找出哪些文档位于给定矩形内的地理位置。我有一个Mongo系列,看起来有点像: { ... "metadata" : { ... "geometry" : { "type" : "Point", "coordinates" : [ -0.000, 51.477 ] } } } 我的查询如下所示: db.my_coll.find({ "$query" : { "metadata.geometry

我试图找出哪些文档位于给定矩形内的地理位置。我有一个Mongo系列,看起来有点像:

{
    ...
    "metadata" : {
        ...
        "geometry" : { "type" : "Point", "coordinates" : [ -0.000, 51.477 ] }
    }
}
我的查询如下所示:

db.my_coll.find({ "$query" : { 
                    "metadata.geometry" : { 
                        "$geoIntersects" : { 
                            "$geometry" : { "type" : "Polygon", "coordinates" : [ [ [..., ...], ... ] ] }
} } }, "$explain":1})
在没有地理空间索引的情况下,我得到:

{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 646,
"nscannedObjects" : 19539,
"nscanned" : 19539,
"nscannedObjectsAllPlans" : 19539,
"nscannedAllPlans" : 19539,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 152,
"nChunkSkips" : 0,
"millis" : 125,
...
使用地理空间索引db.my_coll.ensureIndex{metadata.geometry:2dsphere};我得到:

i、 在解释时,索引的速度较慢。从外部应用程序进行查询时,无论是否使用索引ms解析,查询时间都没有显著差异。我做错了什么?索引不应该使查询比这个更快吗

谢谢:-

不要依赖ms字段作为解释的重要内容。n,nscanned,nscannedObjects更有意义……只是它们的解释比普通的地理空间索引更复杂。我想说的是,对于这个数据量非常小的地理查询,您可能不会看到显著的加速,甚至可能不会看到小的减速。如果扩大文档数量,相对于集合扫描,geoquery的性能是否会提高?
{
"cursor" : "BtreeCursor metadata.geometry_2dsphere",
"isMultiKey" : false,
"n" : 646,
"nscannedObjects" : 18726,
"nscanned" : 18727,
"nscannedObjectsAllPlans" : 18726,
"nscannedAllPlans" : 18727,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 146,
"nChunkSkips" : 0,
"millis" : 161,
...