Postgresql PostGIS:ST_相交(多边形上的点)需要时间来计算

Postgresql PostGIS:ST_相交(多边形上的点)需要时间来计算,postgresql,postgis,Postgresql,Postgis,目前,我正在创建一个表格,表格中的所有点与另一个表格中的多边形相交-它们只是水上的二维点。我根据自己的经验编写了这段sql代码,但它需要很长时间才能完成,而且pgadmin4没有完成它。数据是好的,点是好的,多边形是好的,我用不同的脚本测试了它,最后得到了一个表,有两个几何列(每个点和多边形一个),但这不是我想要的最终工作流 这是我的密码: CREATE TABLE vt_views.intersect_points TABLESPACE pg_default AS SELECT * FROM

目前,我正在创建一个表格,表格中的所有点与另一个表格中的多边形相交-它们只是水上的二维点。我根据自己的经验编写了这段sql代码,但它需要很长时间才能完成,而且pgadmin4没有完成它。数据是好的,点是好的,多边形是好的,我用不同的脚本测试了它,最后得到了一个表,有两个几何列(每个点和多边形一个),但这不是我想要的最终工作流

这是我的密码:

CREATE TABLE vt_views.intersect_points
TABLESPACE pg_default
AS
 SELECT * FROM vt_views.points
WITH DATA;
 
ALTER TABLE vt_views.intersect_points
    OWNER TO postgres;
 
ALTER TABLE vt_views.intersect_points
    ADD Water VARCHAR(4);
 
UPDATE vt_views.intersect_points
SET Water = 'Yes' FROM vt_views.intersect_points, vt_views.polygons WHERE ST_Intersects (vt_views.intersect_points.geom, vt_views.polygons.geoloc);
 
GRANT ALL ON TABLE vt_views.intersect_points TO postgres;
 
CREATE INDEX intersect_points_geom_idx
    ON vt_views.intersect_points USING gist
    (geom)
    TABLESPACE pg_default;

也许你们可以帮我。最后,我只是在寻找点表,它在与水多边形相交的每个单元格中都有一个“是”。如果没有,则应为空

您能否将解释分析添加到您的问题中?此外,确保多边形几何图形上有索引。所有表都是索引显示我们
创建表。。。当您不显示要从中选择的基础表时,AS SELECT
实际上没有帮助。intersect_points在更新中使用相同的别名指定了两次。这是不合法的,如果是的话,它可能会做错事。