0

地理的位置を保存するデータベースを設計しています。グーグルマップと同様の機能を実装したい。使用シナリオは、私は多数のポイントを持っており、関連するX、Y位置です。データベースが更新されることはめったにありませんが(たとえば、新しいポイントを追加したり、既存のポイントのX、Y位置を変更したり)、頻繁にクエリを実行します。クエリのシナリオは、特定の正方形(正方形の4つのコーナーポイントX、Yの位置がわかっている)について、正方形内のすべてのポイントと関連するX、Yの位置を見つけることです。

クエリのパフォーマンスが最適化されるようにデータベースを設計する方法を考えています。私の設計の問題は、地図データベースの設計と非常によく似ています。また、最高のパフォーマンスを達成するためにGoogleマップまたは従来のマップデータベースが実装されているかどうか疑問に思っていますか?

私は地図データベース設計の分野に不慣れです。誰かが初心者のためにいくつかのチュートリアルを参照できるかどうか感謝します。

よろしくお願いします、ジョージ

4

2 に答える 2

1

ジョージ、あなたはあなたの位置を見つけるでしょう

where (geoX between %x1 and %x2) and (geoY between %Y1 and %y2)

インデックス作成に関しては、おそらく常に X と Y の両方を照会するため、単一のインデックスで実行できます: idx_XY (geoX, geoY)

Yだけで検索する必要がある場合は、2番目のインデックスを追加します

idx_Y (geoY)

(そして、X / Y の名前を long/lat に変更しますが、それは多かれ少なかれ個人的な問題です;-)

よろしく、 /t

于 2011-02-08T13:54:39.517 に答える
1

既存のデータベース バックエンドに縛られていますか? 一部のデータベース ( MongoDBPostgreSQLなど) には、この機能が既に組み込まれています。

于 2011-02-07T16:03:42.110 に答える