Index

Il permet:

  • un contrôle au niveau de la base sur l’unicité d’un champ dans une table
  • l’optimiser les requêtes qui utilise la table
CREATE [UNIQUE] INDEX NameOfIndex ON NameOfTable(NameOfColumns);
CREATE UNIQUE INDEX op_idx ON op(id);
CREATE UNIQUE INDEX security_idx ON security (us,cpt,obj);
CREATE INDEX security_idx ON security (cpt,dat);

Il est aussi possible de créer des index sur une partie de la table.

Par exemple nous avons la table suivante

actif est un champ boolean (par exemple) On souhaite que

  • le champ id soit une pk
  • le champ iduser soit unique pour les Cpte actif
CREATE UNIQUE INDEX cpte_idx ON cpte(id);
CREATE UNIQUE INDEX cpte_idx2 ON cpte(idUser) where actif;

Note

le where de cet index peut être plus complexe, utiliser des opérateur supérieur ou inférieur avec des combinaisons