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.
GIST(temp) — GiST de árbol R.
SPGIST(temp trgeometry_quadtree_ops) — SP-GiST de árbol cuádruple.
SPGIST(temp trgeometry_kdtree_ops) — SP-GiST de árbol kd.
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.