OpenStreetMap PostGISクエリの高速化
浸透スキーマを使用して、オランダのOpenStreetMapデータをPostGISデータベース(PostgreSQL 8.3 / PostGIS 1.3.3)にロードしました。これは、すべてのタグがhstoreフィールドに保存されることを意味します。浸透がジオメトリフィールドに作成するGISTインデックスに加えて、タグフィールドに追加のGISTインデックスを作成しました。 空間制約とタグフィールドの制約の両方を使用してクエリを実行しようとすると、思ったよりも遅いことがわかりました。このようなクエリ: SELECT n.geom,n.tags,n.tstamp,u.name FROM nodes AS n INNER JOIN users AS u ON n.user_id = u.id WHERE tags->'man_made'='surveillance' AND ST_Within(geom, ST_GeomFromText('POLYGON((4.0 52.0,5.0 52.0,5.0 53.0,4.0 53.0,4.0 52.0))',4326)); 78レコードを返すのに22秒かかります。 このテーブルには、約5,300万件のレコードがあります。 これを大幅にスピードアップする方法はありますか?PostgreSQL 9でhstoreの実装が大幅に改善されたと聞いたことがありますが、アップグレードは役に立ちますか?