Maison >base de données >tutoriel mysql >mysql avancé (quinze) mysql batch supprime de grandes quantités de données

mysql avancé (quinze) mysql batch supprime de grandes quantités de données

黄舟
黄舟original
2017-02-10 11:04:091508parcourir

mysqlSupprimer de grandes quantités de données par lots

Supposons qu'il existe une table (syslogs)avec 1000 Dix mille enregistrements doivent être supprimés sans arrêter l'entreprise. Tous les enregistrements avec statusid=1 doivent être supprimés. Il y en a près de 600<.> dix mille enregistrements. , exécutez directement DELETE FROM syslogs WHERE statusid=1 et vous constaterez que la suppression échoue en raison de l'erreur de Délai d'attente de verrouillage dépassé.

Comme cette instruction implique trop d'enregistrements, nous utilisons le paramètre

LIMIT pour supprimer par lots, par exemple tous les 10 000 les éléments sont supprimés une fois, nous pouvons ensuite utiliser des instructions comme MySQL pour compléter :

 DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 10000;
puis l'exécuter plusieurs fois ces enregistrements. peut être supprimé avec succès.


Remarque :

Veillez à utiliser la

limite lors d'une suppression massive. Car si 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 supprimez la base de données en fonction de la clé primaire.

Habituellement, il est préférable d'ajouter

limite 1 mettre à jour et supprimer 🎜 > pour éviter toute utilisation abusive.

Ce qui précède est le contenu de MySQL avancé, suppression par lots, grandes quantités de données. Pour plus de contenu connexe, veuillez faire attention au chinois PHP. site Web (www.php.cn) !

Déclaration:
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