Bonjour
Dans le cadre de l'optimisation d'une procédure stockée, j'ai ajouté un index sur une table contenant des données temporaire (mais utilisées une fois la PS terminée, donc pas de table #temporaire).
Je me demande si l'ajout de cet index n'est pas contre-performant dans la durée. En effet, la table est vidée plusieurs fois, et des INSERT de petites quantités de données sont réalisés entre 2 vidage de table. Je n'ai pas créé cette procédure, et je ne sais pas exactement ce qu'elle fait (je pense que revoir le process serait plus efficace que l'ajout d'index, mais je n'ai pas assez de vue sur ce que la procédure doit réaliser exactement pour m'amuser à la réécrire).
Le truc, c'est que cette procédure doit traiter des données pour 27 sociétés, données je suppose de même volumétrie pour chacune des sociétés.
8 sociétés ont étés traitées en 1h30 (au lieu de 2h auparavant), mais il a fallu 17h pour traiter l'ensemble des 27 sociétés (alors que je m'attendais à 6h de traitement)
Je n'ai pas de trace, et pas moyen de relancer le traitement, car maintenant qu'il est fini, la procédure ne fait rien. Toutefois, je peux voir que l'index est relativement fragmenté. Voici le résultat du SHOWCONTIG de l'index que j'ai ajouté :
Du coup, je me demande si c'était une bonne idée de rajouter cet index, car au final, j'ai "perdu 9h" (sans les index, la durée estimée était de 8h, mais je met entre guillemet car on a pas laissé la procédure tourner complètement sans l'index).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DBCC SHOWCONTIG scanning 'VP_T_COD00140_01' table... Table: 'VP_T_COD00140_01' (1383064063); index ID: 0, database ID: 7 TABLE level scan performed. - Pages Scanned................................: 124 - Extents Scanned..............................: 20 - Extent Switches..............................: 19 - Avg. Pages per Extent........................: 6.2 - Scan Density [Best Count:Actual Count].......: 80.00% [16:20] - Extent Scan Fragmentation ...................: 45.00% - Avg. Bytes Free per Page.....................: 8062.1 - Avg. Page Density (full).....................: 0.39% DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Evidemment, je n'ai pas non plus de trace de temps étape par étape pour voir où ou quand (au niveau des boucles, voir si le traitement des sociétés est de plus en plus lent ou si c'est constant) j'ai perdu du temps, donc je ne sais même pas si c'est la partie que j'ai optimisée qui devait l'être ou une autre (oui on m'a demandé de travailler sur une partie seulement de la procédure, je n'ai pas analysé la procédure complète, j'ai fait confiance aux devs d'origine quand ils m'ont dit que c'est cette partie qui déconne).
Partager