Bonjour à tous,
je travaille sur l'optimisation en montée en charge d'un soft qui fait beaucoup de requetage sur une bdd DB2/linux 8.2.0 chargée avec une importante volumétrie.
Je voudrais votre avis sur l'organisation des index.
j'ai des requetes du type
Le where porte sur la clé primaire T1C1 et T1C2 mais dois-je aussi faire un index sur T1C2 seul ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM T1 WHERE T1C1=v1 AND T1C2=v2 ORDER BY T1C1
Inversement, j'ai des requetes du type
où c'est le order by qui porte sur la clé primaire et le where sur un seul champ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM T1 WHERE T1C1=v1 ORDER BY T1C1, T1C2
Que me conseilleriez-vous pour placer des index afin d'optimiser les performances ?
D'autre part, et comme j'entends tout et son contraire est-ce qu'un select * est plus consommateur (au niveau travail de DB2, je ne considère pas le trafic réseau) qu'un select de quelques champs (ca dépend certainement de la topologie de la table, mais dans un cas moyen) ?
En vous remerciant de vos conseils
Partager