【发布时间】:2021-10-28 19:19:06
【问题描述】:
我在脚本中使用 for 循环根据系列中的值计算几何,并将结果插入表 (t1)。有没有办法使用并行性重写下面的循环?使用什么方法?我发现了很多关于 PostgreSQL 如何并行运行查询的文档,但是对于我如何执行这样的任务却很难。甚至可以使用 SQL 吗?还是我应该依赖 Python 等其他语言,并从那里执行 SQL 查询?
DO $$
DECLARE
lims int[];
lim int;
BEGIN
SELECT ARRAY(SELECT generate_series(60, 300, 60)) INTO lims;
CREATE TABLE t1(
lim integer,
the_geom geometry(polygon, 4326),
);
FOREACH lim IN ARRAY lims
LOOP
WITH conv_hull AS (
SELECT ST_ConcaveHull(...I use lim here...) AS conv_hull
)
INSERT INTO t1 (lim, the_geom) SELECT lim, ST_SetSRID(conv_hull.ST_ConcaveHull, 4326) FROM conv_hull;
END LOOP;
END $$;
【问题讨论】:
标签: sql postgresql