Bonsoir,
si je possède une table définie ainsi :
pour laquelle le champ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaTable(GroupeId number(3), SousGroupeId number(3),ItemId number(1), LibelleItem Varchar2(100))
- ItemId est unique par ligne
- SousGroupeId se retrouve n fois par GroupeId et est une FK d'une table de sous-groupements
- GroupeId étant une FK d'une table labellisant "mes groupements" et "regroupant mes sous-groupements"...
Si mes scripts interrogent presque toujours cette table des deux manières suivantes :
ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select ItemId,LibelleItem from MaTable where GroupeId =1 and SousGroupeId =1;
Je pense que je dois créer un index non unique sur le couple (GroupeId, SousGroupeId ) pour la requête 1. Mais pour la requête 2, dois-je aussi créer un second index non unique sur le champ SousGroupeId ? Ou le premier index créé sera quand même utilisé ? Peut-être que le second index sur SousGroupeId n'est-il utile que si je possède un grand nombre de sous-groupes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select ItemId,LibelleItem from MaTable where SousGroupeId =2;
Lek.
Partager