タイムスタンプを付けたデータがあります。Postgresの伝統的なインデックスと空間インデックスの組み合わせ
私はPostgresが時間と空間に縛られたクエリを効率的に実行したいと思っています。例えば
select *
from tracking_tags
where ts >= '1990-01-01T00:00:00.000Z'
and ts < '2000-01-01T00:00:00.000Z'
and lat > 40.0
and lat < 50.0
and long < 0.0
and long > -10.0
私はインデックスの観点からこれをどのようにアプローチする必要がありますか?
私はlat
/long
POINTs
にts
上、通常のBツリー索引とGISTのインデックスのどちらかを選択する必要があるかもしれませんが、私は複合インデックス(あるいは2)が必要だと思うので、私は混乱しています。
1日あたり1000レコードの10年間のデータを想定します。
(PS謝罪はナンセンスSQLのために、私はまだPostgresのにMySQLの切り替えしていない - しかし、このはPostgresの質問である。)
これは、PostGISのクエリではないインデックスを使用します。小数点の比較をしているだけで、ジオメトリや地理フィールドはありません。 – e4c5