4.5.1. Les index GiST

GiST signifie "arbre de recherche généralisé" et est une forme générique d'indexation. En plus pour l'indexation GiST, GiST est utilisé pour accélérer les recherches de tout type de données irrégulières (tableau d'entier, données spectrales, etc) qui ne sont pas utilisables avec l'indexation normale par arbre B.

Une fois que les tables de données SIG dépassent quelques milliers d'enregistrements, vous voudrez créer des index pour accélérer les recherches spatiales des données (à moins que vos recherches soient basées sur des attributs, auquel cas vous devrez créer des index normaux sur les champs de ces attributs).

La syntaxe pour créer un index GiST sur une colonne géométrique est la suivante :

CREATE INDEX [nom_de_l_index ON [nom_de_la_table
  USING GIST ( [champ_géographique] GIST_GEOMETRY_OPS );

Créer un index spatial est un calcul informatique important : sur les tables d'environ un million d'enregistrements, sur une machine Solaris à 300MHz, nous avons trouvé que la création d'un index GiST prend environ une heure. Après avoir créer un index, il est important de forcer PostgreSQL à collecter les statistiques sur les tables, qui sont utilisées pour optimiser les planifications de requêtes :

VACUUM ANALYZE [table_name] [column_name];
-- Ceci n'est nécessaire que pour les installations de PostgreSQL 7.4 et précédentes :
SELECT UPDATE_GEOMETRY_STATS([table_name], [column_name]);

Dans PotgreSQL, les index GiST ont deux avantages par rapport aux arbres R. Premièrement, les arbres de recherches généralisées acceptent les valeurs null, ce qui signifie qu'ils peuvent indexer des colonnes incluant des valeurs null. Deuxièmement, les arbre de recherches généralisées supportent le concept de "déperdition" qui est important lorsqu'on utilise des objets SIG d'une taille supérieur à la taille de 8K des pages de PostgreSQL. La "déperdition" permet à PostgreSQL de stocker uniquement les parties "importantes" d'un objet dans un index - dans le cas d'objets SIG, uniquement le cadre limite. Les objets SIG plus larges que 8K impliquent que le processus de création des arbres R échouera.

Posted in version imprimable | Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | 5452 lectures

Posté par rédacteurs le 6 Avril, 2006 - 20:27.

Accéder aux archives

« Novembre 2024  
Lun Mar Mer Jeu Ven Sam Dim
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Ouverture de session

Qui est en ligne

Il y a actuellement 1 utilisateur et 175 invités en ligne.
Locations of visitors to this page
Drupal Top Sites - Ultimate Drupal Exposure