Maison > base de données > tutoriel mysql > Comment puis-je récupérer de l'espace disque dans MySQL InnoDB après la suppression de données ?

Comment puis-je récupérer de l'espace disque dans MySQL InnoDB après la suppression de données ?

Mary-Kate Olsen
Libérer: 2024-12-03 09:35:16
original
321 Les gens l'ont consulté

How Can I Reclaim Disk Space in MySQL InnoDB After Deleting Data?

Récupération de l'espace disque dans MySQL InnoDB après la suppression des données

C'est un scénario courant qu'après avoir supprimé les données d'une table MySQL à l'aide d'InnoDB, l'espace alloué l'espace disque reste occupé. Cela peut entraîner de sérieuses contraintes d'espace disque, en particulier dans les applications à grande échelle.

Pourquoi InnoDB ne libère-t-il pas d'espace après la suppression ?

Le moteur de stockage InnoDB de MySQL fonctionne sur le principe de la « suppression sur place », ce qui signifie que lorsque des lignes de données sont supprimées, elles sont simplement marquées comme espace libre dans le fichier existant au lieu d'être physiquement supprimées. Cela permet une récupération efficace des données en évitant la nécessité d'une réécriture massive des données.

Comment récupérer de l'espace disque

Bien qu'InnoDB ne libère pas automatiquement de l'espace disque, il Il existe des moyens de le récupérer manuellement :

1. Optimiser la table :

L'exécution de la commande "OPTIMIZE TABLE" sur la table en question marquera l'espace libre contigu comme réutilisable. Cependant, il est important de noter que cela ne libère pas réellement de l'espace mais le prépare plutôt à être réutilisé.

2. InnoDB File-Per-Table :

En configurant le serveur pour utiliser innodb_file_per_table, chaque table aura son propre fichier .ibd dédié. Lorsque des données sont supprimées d'une table, la taille du fichier .ibd correspondant sera réduite après l'exécution de "OPTIMIZE TABLE". Cette approche implique la création d'une nouvelle base de données et la restauration des données, ce qui en fait une solution plus complexe.

3. Vidage et restauration :

L'une des méthodes les plus efficaces pour récupérer de l'espace disque dans InnoDB consiste à effectuer une sauvegarde logique de la base de données, à supprimer la base de données existante, puis à restaurer la sauvegarde. Ce processus supprime physiquement les données supprimées et réduit la taille du fichier .ibd.

4. Outils tiers :

Il existe des outils tiers tels que « pt-shrink » qui peuvent aider à récupérer de l'espace disque dans MySQL. Ces outils effectuent une sauvegarde logique, optimisent les tables et restaurent les données dans une nouvelle base de données.

Attention :

Il est important de comprendre que la récupération des données n'est pas possible après des méthodes de récupération d'espace disque ont été appliquées. Par conséquent, il est fortement recommandé de sauvegarder votre base de données avant de procéder à l'une des techniques suggérées.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal