我在PostgreSQL / PostGIS数据库中有一个空间表。其中的每一行都代表一个多边形。它具有以下形式:
+----+--------+
|gid | way |
+----+--------+
|241 | 01030..|
几何列是“ way”,其中包含多边形的几何。在WKT中是:POLYGON(('....'))。我正在此表上执行很多ST_Contains查询,以测试彼此是否包含两个多边形,例如:
Select ST_Contains(a.way, b.way) From table AS a, table AS b Where a.gid = 15 And b.gid = 16
我想知道如何加快查询速度,并在表上添加空间索引:
CREATE INDEX table_way_gist ON table USING gist(way);
但实际上我看不到速度提高。在执行ST_Contains查询之前,我在用所有多边形填充表格之后创建索引。填写表格之前是否应该添加索引?表格上是否有使用索引的特殊要求?几何圆柱路径的投影(纬线)设置为900913。
我正在使用:psql(PostgreSQL)9.1.4 / POSTGIS =“ 1.5.3”