Maison >base de données >tutoriel mysql >Comment puis-je convertir efficacement toutes les tables MyISAM en InnoDB dans MySQL ?

Comment puis-je convertir efficacement toutes les tables MyISAM en InnoDB dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 16:39:401011parcourir

How Can I Efficiently Convert All MyISAM Tables to InnoDB in MySQL?

Comment convertir efficacement toutes les tables MyISAM en InnoDB

De nombreux utilisateurs de MySQL rencontrent le besoin de convertir leurs tables MyISAM en InnoDB. Bien que la commande individuelle « ALTER TABLE » puisse être utilisée à cette fin, le processus peut être fastidieux pour les grandes bases de données. Cet article fournit une solution plus efficace pour la conversion groupée des tables MyISAM vers InnoDB.

Pour récupérer une liste de toutes les tables MyISAM de la base de données actuelle :

SET @DATABASE_NAME = 'name_of_your_db';

SELECT CONCAT('ALTER TABLE \`', table_name, '\` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Cette requête générera une série d'instructions 'ALTER TABLE' pour chaque table MyISAM. Une fois la sortie copiée, elle peut être exécutée en tant que nouvelle requête SQL pour effectuer la conversion groupée.

En suivant ces étapes, les utilisateurs peuvent convertir rapidement et efficacement toutes les tables MyISAM de leur base de données en InnoDB, améliorant ainsi les performances. et la durabilité de leur stockage de donné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!

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