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

黄舟
Libérer: 2017-02-10 11:04:09
original
1507 Les gens l'ont consulté

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;
Copier après la connexion
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) !

É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