たとえば、地図ベースの店舗検索のコンテキストで、これをインデックス化するための最も効率的な方法が何であるかを知りたいです。
- ユーザーは、表示したい地域に地図をパン/ズームします。
- アプリケーションは、ビューポートの境界、別名lat/lngのmax/minを決定します。
クエリは基本的な形式で発行されます。
SELECT *
FROM locations
WHERE lat BETWEEN $min_lat AND $max_lat
AND lng BETWEEN $min_lng AND $max_lng
単一のコンポジットを使用するのが最善ですかINDEX(lat, lng)
、それとも次のような2つの別個のインデックスを使用するのが最善INDEX(lat), INDEX(lng)
ですか?