88 votes

L'instruction Supprimer en SQL est très lente

J'ai des déclarations comme celle-ci qui sont en retard :

DELETE FROM [table] WHERE [COL] IN ( '1', '2', '6', '12', '24', '7', '3', '5')

J'ai essayé d'en faire un à la fois comme ça :

DELETE FROM [table] WHERE [COL] IN ( '1' )

et jusqu'à présent, c'est à 22 minutes et ça continue.

Le tableau comporte 260 000 lignes et quatre colonnes.

Quelqu'un a-t-il une idée de la raison pour laquelle ce processus est si lent et comment l'accélérer ? J'ai un index non unique et non groupé sur le [COL] sur lequel je fais le WHERE. J'utilise SQL Server 2008 R2

mise à jour : je n'ai pas de déclencheurs sur la table.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X