Maison  >  Article  >  base de données  >  Comment choisir le moteur approprié pour MySQL et effectuer la conversion du moteur

Comment choisir le moteur approprié pour MySQL et effectuer la conversion du moteur

一个新手
一个新手original
2017-09-30 10:25:461048parcourir

Comment choisir le bon moteur ? Voici un résumé simple : "À moins que vous ayez besoin d'utiliser certaines fonctionnalités que InnoDB ne possède pas et qu'il n'y ait pas d'autre moyen de le remplacer, vous devez donner la priorité au moteur InnoDB."

Sauf si cela est absolument nécessaire, sinon, il n'est pas recommandé de mélanger plusieurs moteurs de stockage, sinon cela pourrait provoquer une série de problèmes complexes et quelques bugs potentiels.

Plusieurs facteurs majeurs à considérer lors de l'utilisation de différents moteurs :

1. Transactions

Si prise en charge des transactions nécessaire, alors InnoDB ou XtraDB sont actuellement les plus stables. Si les transactions ne sont pas requises et que les opérations principales sont SELECT et INSERT, MyISAM est un bon choix.

2. Sauvegarde

Si une sauvegarde à chaud en ligne est requise, InnoDB est le choix de base.

3. Récupération après crash

Lorsque la quantité de données est relativement importante, comment récupérer rapidement après une panne du système est un problème qui nécessite à considérer, et c'est aussi la raison pour laquelle de nombreuses personnes choisissent InnoDB même s'ils n'ont pas besoin de support de transaction.

Moteur de table de conversion :

1.ALTER TABLE

Le plus simple La méthode est l'instruction ALTER TABLE :

 mysql> ALTER TABLE mytable ENGINE = InnoDB;

Cette syntaxe convient à n'importe quel moteur de stockage, mais son exécution prend beaucoup de temps.

Le moteur de stockage de la table de conversion perdra toutes les fonctionnalités liées au moteur d'origine.

2. Exporter et importer

Vous pouvez utiliser l'outil mysqldump pour exporter les données vers un fichier, puis modifier le Instruction CREATE TABLE dans le moteur de stockage de fichiers, veuillez faire attention à modifier le nom de la table.

Dans le même temps, veuillez noter que l'outil mysqldump ajoutera automatiquement l'instruction DROP TABLE avant l'instruction CREATE TABLE par défaut pour faire attention à la perte de données.

3. Créez et interrogez

Pour combiner la première et la deuxième méthodes, créez d'abord une nouvelle table de moteur de stockage, puis utilisez INSTER . .. Syntaxe SELECT pour importer des données

         mysql> CREATE TABLE innodb_table LIKE myisam_table;
       mysql>ALTER TABLE innodb_table ENGINE=InnoDB;
       mysql>INSTER INTO innodb_table SELECT * FROM myisam_table;

Si la quantité de données est importante, elles peuvent être traitées par lots et les opérations de soumission de transaction sont effectuées pour chaque élément de données afin d'éviter l'annulation causée par des transactions volumineuses. Percona Toolkit fournit un outil de changement de schéma pt-online, qui peut être exécuté simplement et facilement pour éviter les erreurs causées par des opérations manuelles.

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