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

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

Barbara Streisand
Barbara Streisandoriginal
2025-01-04 03:16:39992parcourir

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

Conversion groupée des tables MyISAM vers InnoDB : un guide complet

Introduction

Modifier les tables de MyISAM vers InnoDB une par une peut être fastidieuse. L'article suivant fournit une solution complète pour convertir rapidement toutes les tables MyISAM d'une base de données en InnoDB à l'aide de SQL.

Solution détaillée

Pour réaliser cette conversion groupée, exécutez l'instruction SQL suivante :

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;

Assurez-vous de remplacer name_of_your_db par le nom de votre base de données.

Implémentation

Après avoir exécuté l'instruction SQL ci-dessus, la sortie fournira une liste d'instructions SQL qui convertissent chaque table MyISAM en InnoDB. Copiez ces instructions dans une nouvelle fenêtre de requête SQL et exécutez-les. Cela exécutera la conversion de toutes les tables MyISAM de votre base de données.

Avantages d'InnoDB par rapport à MyISAM

InnoDB offre plusieurs avantages par rapport à MyISAM, notamment :

  • Données améliorées intégrité grâce aux transactions et aux contraintes de clé étrangère
  • Augmentation des performances d'écriture grâce au niveau de la ligne verrouillage
  • Meilleures évolutivité et concurrence pour les applications à forte charge
  • Recherche en texte intégral et prise en charge des clés étrangères

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