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

Comment supprimer des données par lots dans MySQL

藏色散人
Libérer: 2020-10-29 16:49:42
original
13565 Les gens l'ont consulté

La méthode de suppression de données par lots dans mysql : recherchez d'abord l'identifiant maximum qui remplit les conditions ; puis créez un index sur le champ où ; enfin supprimez les données par lots via la commande "supprimer de nom_table où id < ; limite maxId 10000". Can.

Comment supprimer des données par lots dans MySQL

Recommandé : "Tutoriel vidéo MySQL"

Suppression par lots MySQL du Big Data

MySQL peut provoquer un blocage en supprimant une grande quantité de données à la fois, et il peut également lever une exception

The total number of locks exceeds the lock table size in MySQL
Copier après la connexion

Cela est dû au fait que les données à supprimer sont trop volumineuses et que le tampon fourni par MySQL semble n'être qu'environ 8 Mo

le délai d'attente de verrouillage dépasse le délai d'attente

Il doit donc être traité par lots, ce qui est également une idée courante lors de l'exploitation de Big Data

Une meilleure méthode en ligne est :

Trouvez d'abord le plus grand identifiant qui remplit les conditions (les identifiants ici sont ordonnés et n'ont pas besoin d'être consécutifs)

select max(id) from table_name where create_time < &#39;2017-04-06&#39;
Copier après la connexion

Créer un index sur le où le champ peut améliorer l'efficacité

Environ dix millions Les données prennent environ 10 secondes

puis supprimées par ID, 10 000 supprimées à la fois et supprimées en boucle

delete from table_name where id < maxId limit 10000
Copier après la connexion

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