1

さて、私はこの事件についてあなたの意見が欲しいです:

最大で2つまたは3つのテーブルを含むデータベースが必要です。そのうちの1つには、ポイント(緯度、経度)およびその他の情報が含まれます。

必要なのは本当に簡単です。指定された半径内のポイントを取得します。

私はそれを行う方法を尋ねていません(しかし、特にそれが良い習慣についてであるならば、どんなアドバイスも大歓迎です)、私はMySQLの空間サポートを利用することが役立つかどうか知りたいです。必要なものは1つのクエリでかなり簡単に取得できるため、Spatialサポートを使用して期待するのはパフォーマンスを向上させることです。

では、空間インデックスは著しく役立つのでしょうか?テーブルにはそれほど多くのポイントが保存されるとは思いません。私は200以下と言うでしょう。

4

1 に答える 1

1

実際に200ポイントしかない場合は、次のことを行わないことをお勧めします。これにより、ポータブルSQLの作成がはるかに簡単になります(これは重要だと思います)。

SQLを記述して、最初の経度と緯度が事前に計算された最小値と最大値(長方形を与える)に対してチェックされ、次に半径がチェックされるようにします。このように、結果セットの1 / piのポイントを最終的に選択せずに、半径を計算するだけで済みます。

私は個人的に、これはSQLの記述に対する許容できるトレードオフであると考えています。これは、SQliteなどに対して実行する必要がある場合に発生する可能性があります。

于 2012-09-11T03:07:33.070 に答える