小编Die*_*ipe的帖子

优化两个巨大空间表之间的 Intersect 查询

我在尝试改进两个空间表之间的交集时遇到了困难,我想收到有关表设计、查询或 dba 配置的任何提示。

表格:

表现在teste.recorte_grade有 1,655,569 行,但这是为 900 万行表的测试制作的子样本。

CREATE TABLE teste.recorte_grade
(
  id integer NOT NULL DEFAULT nextval('teste."Recorte_grade_id_seq"'::regclass),
  id_gre character varying(21),
  indice_gre character varying(16),
  the_geom geometry(Polygon),
  CONSTRAINT "Recorte_grade_pkey" PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
CREATE INDEX sidx_recorte_grade_geom
  ON teste.recorte_grade
  USING gist
  (the_geom);
Run Code Online (Sandbox Code Playgroud)

teste2.uso_2012有 177,888 行,这是它将永远拥有的所有数据。

CREATE TABLE teste2.uso_2012
(
  id integer NOT NULL,
  gridcode smallint NOT NULL,
  geom geometry(MultiPolygon) NOT NULL,
  CONSTRAINT pk_id_uso_2012 PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);    
CREATE INDEX …
Run Code Online (Sandbox Code Playgroud)

postgresql performance spatial postgis query-performance

5
推荐指数
1
解决办法
1189
查看次数