Je suis curieux de savoir comment les structures de données internes et le mécanisme de stockage de l'index spatial GiST dans Postgis. Dans Oracle, j'aimais montrer comment les index SDO n'étaient "qu'une autre table", et comment les niveaux étaient des attributs des index, et les bboxes des géométries indexées étaient stockées sous forme de blobs (qui pouvaient être extraits). Comment postgis stocke-t-il les index et où?
Les tables système http://www.postgresql.org/docs/8.3/static/catalogs.html peuvent être utilisées pour identifier les index, mais je ne sais pas comment accéder au stockage réel (s'il s'agit bien de tables)
postgis
postgresql
spatial-index
MartinT
la source
la source
Réponses:
Comme Craig le mentionne, les indices spatiaux ne sont pas simplement une autre table. Au lieu de cela, PostGis utilise GiST comme base structurelle pour stocker les détails de la bbox. Oui, cela est (lors de l'utilisation des valeurs par défaut) différent et plus efficace et moins précis que les B-Trees ou R-Trees .... mais vous pouvez spécifier des paramètres qui rendent les index GiST similaires aux index spatiaux des autres stockages.
Voici la documentation sur la façon de travailler avec eux (y compris leur extension.)
Creusez.
la source