Maison > base de données > tutoriel mysql > Comment supprimer des données dans la base de données dans MySQL par lots

Comment supprimer des données dans la base de données dans MySQL par lots

coldplay.xixi
Libérer: 2020-09-28 13:16:10
original
4069 Les gens l'ont consulté

Méthode de suppression par lots MySQL des données dans la base de données : suppression par lots via le paramètre LIMIT, la syntaxe est [DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000].

Comment supprimer des données dans la base de données dans MySQL par lots

Méthode MySQL pour supprimer par lots des données dans la base de données :

Supposons qu'il existe une table (syslogs) avec 10 millions d'entrées Les enregistrements doivent être supprimés sans arrêter l'entreprise. Il y a près de 6 millions d'enregistrements avec statusid=1 si vous exécutez DELETE FROM syslogs WHERE statusid=1 directement, vous constaterez que la suppression échoue en raison d'une erreur de dépassement du délai d'attente de verrouillage.

Parce que cette instruction implique trop d'enregistrements, nous la supprimons par lots via le paramètre LIMIT. Par exemple, supprimez tous les 10 000 enregistrements. Nous pouvons ensuite utiliser une instruction comme MySQL pour compléter :

 DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000;
Copier après la connexion
<.>Ensuite, exécutez-le plusieurs fois pour réussir à supprimer ces enregistrements.

Remarque :

  • Veillez à utiliser la limite lors de la suppression en masse. Parce que si la limite n'est pas utilisée, la suppression d'une grande quantité de données est susceptible de provoquer un blocage.

  • Si l'instruction delete Where ne figure pas dans l'index, vous pouvez d'abord trouver la clé primaire, puis supprimer la base de données en fonction de la clé primaire.

  • Il est préférable d'ajouter la limite 1 lors de la mise à jour et de la suppression pour éviter toute utilisation abusive.

Plus de recommandations d'apprentissage gratuites associées : tutoriel mysql(vidéo)

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal