PostGIS
切换暗/亮/自动模式 - PostGIS 空间数据库 切换暗/亮/自动模式 - PostGIS 空间数据库 切换暗/亮/自动模式 - PostGIS 空间数据库 返回主页 - PostGIS 空间数据库

如何使用空间索引?

空间索引对于在空间 SQL 查询中获得良好性能非常重要!你需要做两件事才能使用空间索引

  • 创建空间索引和;
  • 使用“空间索引感知”功能。

创建空间索引,请使用 CREATE INDEX 命令,但指定 USING GIST 访问方法,如下所示

CREATE INDEX mytable_geom_x ON mytable USING GIST (geom)

当绑定到 GIST 访问方法时,几何的默认索引是 R 树。如果你忘记包含 USING GIST 部分,你将获得一个标准 PostgreSQL“B 树”索引,这是一个非空间索引,并且不会帮助你的查询。

有一组有限的功能可以使用空间索引作为预过滤器,以加快查询速度,如下所示

因此,空间连接查询可以使用空间关系函数并像这样获得索引加速

SELECT a.*
FROM a
WHERE ST_Intersects(a.geom, ST_Point(-126, 45, 4326))

并且可以使用空间关系来驱动连接,如下所示

SELECT a.name, b.id
FROM a
JOIN b
  ON ST_Contains(a.geom, b.geom)
WHERE a.name = 'Pleasantown'