Maison > base de données > tutoriel mysql > Comment effectuer efficacement une suppression groupée dans SQL Server 2008 ?

Comment effectuer efficacement une suppression groupée dans SQL Server 2008 ?

Mary-Kate Olsen
Libérer: 2025-01-02 15:12:42
original
163 Les gens l'ont consulté

How to Efficiently Perform Bulk Deletion in SQL Server 2008?

Suppression groupée dans SQL Server 2008 : une exploration

La notion de suppression groupée surgit lorsque l'on cherche à supprimer un grand nombre de lignes de une table efficacement. Bien que la commande TRUNCATE de SQL Server offre un moyen rapide de supprimer toutes les lignes d'une table, elle ne peut pas prendre en charge les clauses WHERE pour supprimer sélectivement des données.

La copie groupée est-elle applicable à la suppression ?

Malheureusement, il n'existe pas d'équivalent direct à Bulk Copy (bcp) pour la suppression dans SQL Server 2008. Cependant, nous pouvons exploiter des approches alternatives pour réaliser une suppression groupée.

Suppression par lots

La suppression par lots implique de diviser l'opération de suppression en lots plus petits. Ceci peut être réalisé en utilisant la syntaxe suivante :

SELECT 'Starting' --sets @@ROWCOUNT
WHILE @@ROWCOUNT <> 0
    DELETE TOP (xxx) MyTable WHERE ...
Copier après la connexion

L'instruction 'Starting' définit la variable @@ROWCOUNT, qui détermine le nombre de lignes à supprimer dans chaque lot. La boucle WHILE continue jusqu'à ce que toutes les lignes soient supprimées.

Utilisation d'une table de maintien

Si une proportion importante de lignes doit être supprimée, une table de maintien peut être utilisée. Les étapes suivantes décrivent cette approche :

  1. Créez une table de conservation avec les colonnes requises.
  2. Sélectionnez les lignes à conserver dans la table de tenue, en excluant celles à supprimer.
  3. Tronquer la table d'origine pour supprimer toutes les lignes.
  4. Insérer les lignes de la table de maintien dans l'original table.

Conclusion

Bien qu'il n'existe pas de substitut direct à la copie en bloc pour suppression dans SQL Server 2008, les techniques décrites ci-dessus offrent des alternatives viables. La suppression par lots convient à la suppression sélective d'un plus petit nombre de lignes, tandis que l'approche de la table de conservation est bénéfique pour les suppressions à plus grande échelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal