1

たとえば、地図ベースの店舗検索のコンテキストで、これをインデックス化するための最も効率的な方法が何であるかを知りたいです。

  1. ユーザーは、表示したい地域に地図をパン/ズームします。
  2. アプリケーションは、ビューポートの境界、別名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)ですか?

4

1 に答える 1

1

latlngは互いに独立しており、where 句でそれらを個別に使用しており、組み合わせていないため、個別のインデックスを使用します。

于 2012-11-21T21:54:04.030 に答える