Indexación

Hay tres tipos de índices disponibles sobre columnas trgeometry. Cada uno utiliza la caja delimitadora espaciotemporal de la geometría materializada y admite consultas topológicas, de posición y de distancia KNN.

CREATE INDEX tbl_trgeometry_gist_idx
  ON tbl_trgeometry
  USING GIST(temp);

-- topological lookup
SELECT count(*) FROM tbl_trgeometry
WHERE temp && stbox 'STBOX XT(((0, 0), (10, 10)),[2001-01-01, 2001-01-02])';

-- KNN (ordered scan)
SELECT mmsi
FROM tbl_trgeometry
ORDER BY temp <-> trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(100 100), 0.0)@2001-01-01'
LIMIT 10;

La variante de árbol kd suele ganar en cargas de trabajo dominadas por consultas KNN con una cota de ordenación ajustada; la variante de árbol cuádruple es más uniforme. El GiST de árbol R es el valor predeterminado seguro para cargas de trabajo mixtas de lectura/escritura.