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