Comment choisir le bon moteur ? Voici un résumé simple : "Sauf si vous avez besoin d'utiliser certaines fonctionnalités qu'InnoDB ne possède pas, et qu'il n'y a 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
La méthode la plus simple est l'instruction ALTER TABLE : mysql> ALTER TABLE mytable ENGINE = InnoDB;
Cette syntaxe est applicable à 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!