Se pueden crear índices GiST y SP-GiST para columnas de tablas de los tipos tbox
y stbox
. El índice GiST implementa un árbol R, mientras que el índice SP-GiST implementa un árbol cuádruple n-dimensiónal. Un ejemplo de creación de un índice GiST en una columna Box
de tipo stbox
en una tabla Trips
es el siguiente:
CREATE TABLE Trips(TripID integer PRIMARY KEY, Trip tgeompoint, Box stbox); CREATE INDEX Trips_Box_Idx ON Trips USING GIST(Box);
Un índice GiST o SP-GiST puede acelerar las consultas que involucran a los siguientes operadores: &&
, <@
, @>
, ~=
, -|-
, <<
, >>
, &<
, &>
, <<|
, |>>
, &<|
, |&>
, <</
, />>
, &</
, /&>
, <<#
, #>>
, &<#
y #&>
.
Además, se pueden crear índices de árbol B para columnas de tablas de un tipo cuadro delimitador. Para estos tipos de índices, básicamente la única operación útil es la igualdad. Hay un orden de clasificación de árbol B definido para valores de tipos cuadro delimitador con los correspondientes operadores <
y >
, pero el orden es bastante arbitrario y no suele ser útil en el mundo real. El soporte de árbol B está destinado principalmente a permitir la clasificación interna en las consultas, en lugar de la creación de índices reales.