Ι私の文書はPoints
です。地理空間インデックスを追加することを検討します。ですから、私は2dsphereと2dを選択することができます。2dsphere対2dインデックス:「より良い」/より速い?
MongoDB.orgがあります
2dsphereインデックスはサポートしています。
- Calculations on a sphere
- Both GeoJSON objects and legacy coordinate pairs
- A compound index with scalar index fields (i.e. ascending or
descending) as a prefix or suffix of the 2dsphere index field
2Dインデックスはサポートしています。
- Calculations using flat geometry
- Legacy coordinate pairs (i.e., geospatial points on a flat
coordinate system)
- A compound index with only one additional field, as a suffix of
the 2d index field
をしかし、私のすべての文書は、私が持つことができるのいずれかのポイントであるため、私のスキーマでは以下のオプションがあまり違いはありません。 2dsphereため
:
location : {
type : "Point" ,
coordinates : [10,45]
}
または2Dインデックスのために:
location : [10,45]
私の質問は1つが速くなるに降りてきますか?私は本当にそれを測定する方法の手がかりを持っていません。
質問は、私はデータのみの正方形のbox
を照会すると、複雑なポリゴン検索のために気にしないことを前提としています。どちらか一方だけ2D指数(私が正しく読まれている場合)またはの$polygon方法でサポートされてい$boxで$geoWithi nは両方のインデックスでサポートされています。
なぜあなたは、インデックスの種類/クエリとDEV /ステージング環境でのいくつかのデータの両方でテストしていませんか?データがRAMに読み込まれているかどうかを確認し、より公平な比較があることを確認するために、多くの反復でパフォーマンスを平均する必要があります。新しい2dsphereインデックスを使用することが望ましいと思いますが、パフォーマンスの比較は見ていません。 – Stennie