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].
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;
Remarque :
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!