ジオローカライズされたオブジェクトのデータベースがあります。
- id
- 緯度
- 経度
ボックス内にあるオブジェクトをフェッチするようにデータベースにクエリを実行しています。
WHERE longitude >= - 33.83789
AND longitude <= 33.837891
AND latitude >= 4.214943
AND latitude <= 40.979898
に1つのインデックスがあります:latitude, longitude
。
データベースを保存/クエリするより効率的な方法はありますか?現在、ボックスの座標/オブジェクトの密度に応じて、クエリ時間は0.1秒から1秒以上まで変化します。
MySQL Spacial拡張機能については知っていますが、使用するのは少し手間がかかるようで、それがより簡単で効率的かどうかはわかりません。
追加情報:将来的には、単純な距離ベースのクエリ(指定された場所の近くのオブジェクトをフェッチする)を実行することも計画しています。