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

Comment supprimer des données par lots dans MySQL

藏色散人
藏色散人original
2020-10-27 09:48:5713513parcourir

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

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;

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

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!

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