|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Etienne THIRANT Inscription : novembre 2010 Messages : 2 ![]() |
Bonjour,
Je suis actuellement chargé d'optimiser une procédure stockée. Celle-ci effectue un traitement par lot pour ne par faire tout d'une fois et exploser les Transaction logs. Les tables de travail dont elle a besoin sont donc créées puis supprimées pour chaque lot. Sur certaines de ces tables ont été mis des indexes. Je me pose alors la question suivante au sujet des performances: Quel est le plus couteux: créer un index ou insérer dans une table ayant un index? Dans mon cas la question serait: faut-il mieux créer la table, la charger et ensuite y mettre un clustered index (et cela pour chaque lot), ou bien créer la table une bonne fois pour toute avec l'index cluster, sachant que chaque lot chargera puis videra la table. Il me semble que des INSERT dans une table ayant un clustered index est assez couteux. Mais qu'en est-il par rapport au fait de créer plusieurs fois la meme table et de reconstruire à chaque fois un index? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() David BAFFALEUFInscription : février 2008 Messages : 610 ![]() |
Insérer dans une table sans index et créer l'index ensuite sera plus rapide, car les pages d'index n'ont pas à être mises à jour pendant l'insertion. Cela dit lorsque la volumétrie est faible il est difficile de constater une quelconque différence. De toutes manières lorsque ta table de travail est supprimée l'index est supprimé avec, donc tu n'as pas trop le choix.
__________________
David B. |
|
10
|
|
|
#3 | |
|
Invité de passage
![]() Etienne THIRANT Inscription : novembre 2010 Messages : 2 ![]() |
Citation:
Merci pour ta réponse, ça peut etre un debut d'optimisation... Bonne journée. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com