Création d'index

Les index peuvent être créés pour de nombreuses raisons, notamment pour permettre aux requêtes de s'exécuter plus efficacement, pour classer les lignes d'une table par ordre croissant ou décroissant en fonction des valeurs d'une colonne, et pour appliquer des contraintes telles que l'unicité sur les clés d'index. Vous pouvez utiliser l'instruction CREATE INDEX, Db2® Design Advisor ou la commande db2advis Design Advisor pour créer les index.

Avant de commencer

Sur les plateformes Solaris, le correctif 122300-11 sur Solaris 9 ou 125100-07 sur Solaris 10 est requis pour créer des index avec des périphériques RAW. Sans ce correctif, l'instruction CREATE INDEX se bloque si une unité RAW est utilisée.

A propos de cette tâche

Cette tâche suppose que vous créez un index sur une table non partitionnée.

Procédure

Pour créer un index à partir de la ligne de commande, utilisez l'instruction CREATE INDEX.
Exemple :
    CREATE UNIQUE INDEX EMP_IX
      ON EMPLOYEE(EMPNO)
      INCLUDE(FIRSTNAME, JOB)
La clause INCLUDE, applicable uniquement aux index à entrées uniques, spécifie les colonnes supplémentaires à ajouter à l'ensemble de colonnes de clé d'index. Les colonnes incluses avec cette clause ne sont pas utilisées pour imposer l'unicité. Ces colonnes incluses peuvent améliorer les performances de certaines requêtes via un accès par index uniquement. Cette option peut:
  • Éliminez la nécessité d'accéder aux pages de données pour plus de requêtes
  • Supprimer les index redondants
Si SELECT EMPNO, FIRSTNAME, JOB FROM EMPLOYEE est émis dans la table sur laquelle réside cet index, toutes les données requises peuvent être extraites de l'index sans lire les pages de données. Cela améliore les performances.

Procédure à suivre

Lorsqu'une ligne est supprimée ou mise à jour, les clés d'index sont marquées comme supprimées et ne sont pas physiquement supprimées d'une page tant que le nettoyage n'est pas effectué un certain temps après la validation de la suppression ou de la mise à jour. Ces clés sont appelées clés pseudo-supprimées. Ce nettoyage peut être effectué par une transaction ultérieure qui modifie la page dans laquelle la clé est marquée comme supprimée. Le nettoyage des clés pseudo-supprimées peut être explicitement déclenché à l'aide du paramètre CLEANUP ONLY ALL dans la commande REORG INDEXES .