Bonjour,
Je suis actuellement chargé d’optimiser la db d’une application qui a été très mal designer/optimisé, en gros le plaisir total pour un dba un peu maso.
Mon dilemme est que j’ai une table de plusieurs millions de rows avec +- 300 colonnes (et ce n’est pas le pire), qui subit des modifications assez fréquemment (insert/update) et je dois rajouter des indexes car les select deviennent problématique, j’ai « key lookup » à 73%.
La « where » clause est variable donc je n’ai pas toujours exactement la même querry.
Mon dilemme du moment est de choisir entre la peste et le cholera
La peste
La cholera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE INDEX [idx_la_peste] ON [dbo].[T1] (c1,c2,c21,c20) INCLUDE (c10,c20,c24,c23,c86,c87)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE INDEX [idx_le_cholera_1] ON [dbo].[T1] (c1,c2,c20) INCLUDE (c10,c20,c24,c23)A sachant que le include serait beaucoup plus large.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE INDEX [idx_le_cholera_2] ON [dbo].[T1] (c1,c2,c21) INCLUDE (c10,c20,c86,c87)
Selon vous quel serait le moins pire.
Merci d’avance.
Partager