Mongodb:$ geoNear与$ nearSphere在庞大的非分片集合上:性能?

时间:2018-09-25 15:04:32

标签: mongodb performance mongodb-query geospatial

我有一个包含数千万个GeoJSON记录的数据收集,而我将经常执行的操作是在预定义区域内选择某种类型的所有点。数据库未分片。这些区域不是圆形的,但它们都是完全凸的,对于每个区域,我都知道质心和最大半径。它们的顶点都不超过8个。

因此:假设我非常高兴地检索区域封闭圆中的所有内容,而不仅仅是严格地在其精确的几何形状内,那么对质心和半径使用$nearSphere查询对我来说会更有效吗?然后在客户端修剪掉不需要的点),还是我应该在实际几何图形上坚持使用$geoWithin?鉴于执行这些查询的频率,即使是很小的改进也很有意义。

1 个答案:

答案 0 :(得分:0)

$geoWithin$nearSphere快得多。

根据您的用例,从数据库中获取几何体中的所有对象,然后根据数据库外的距离对结果进行排序可能会更好。