web-dev-qa-db-fra.com

Dois-je indexer les colonnes de clé primaire dans Oracle

Je me suis récemment arrêté pour penser que les clés primaires ne sont pas des index, elles sont une combinaison de contraintes Unique et Null. Et jusqu'à présent, je n'ai jamais créé d'index pour les colonnes PK. Ma question est de savoir si je dois créer un index pour les colonnes PK si cette colonne va être utilisée dans la partie WHERE de nombreuses requêtes.

19
Mikayil Abdullayev

Oracle créera un index pour vous ou pourra en utiliser un existant. Vous pouvez décider si un index unique ou non unique est utilisé.

http://docs.Oracle.com/cd/B28359_01/server.111/b28310/indexes003.htm#i1006566

Une clé primaire elle-même n'est pas un index, pas plus qu'une contrainte unique - ce sont toutes les deux des contraintes. Cependant, un index est utilisé pour les prendre en charge.

Un index unique est assez différent car il peut exister en l'absence d'une contrainte de clé primaire ou unique, et aucun des types de contraintes n'exige que l'index le supportant soit unique.

22
David Aldridge