web-dev-qa-db-fra.com

Comment déterminer le type de base de données MySQL: si elle est innodub ou myisam?

  • Comment déterminer le type de base de données MySQL: si elle est innodub ou myisam?
  • Comment puis-je convertir Myisam en InnoDB ou Vice-Versa?
25
Rachel

Pour déterminer le moteur de stockage utilisé par une table, vous pouvez utiliser show table status . Le champ Engine dans les résultats affichera le moteur de base de données de la table. Alternativement, vous pouvez sélectionner le champ engine à partir de information_schema.tables :

select engine 
from   information_schema.tables 
where  table_schema = 'schema_name'
   and table_name = 'table_name' 

Vous pouvez changer entre les moteurs de stockage en utilisant alter table :

alter table the_table engine = InnoDB;

Où, bien sûr, vous pouvez spécifier tout moteur de stockage disponible.

39
James McNellis

Sélectionnez la base de données en question et exécutez show table status;

15
mr-euro
SHOW TABLE STATUS FROM `database`;

tout répertoriera tout pour toutes les tables, en commençant par s'ils sont myisam ou InnoDB. Si vous désirez indiquer uniquement des données concernant 1 table, la syntaxe ci-dessous peut être utilisée *:

SHOW TABLE STATUS FROM `database` LIKE 'table';

pour changer le moteur de la table:

ALTER TABLE `table` ENGINE=InnoDB;

* ATTENTION Utilisez l'accent grave (`Backtick) pour le nom de la base de données et le nom de la table et la citation unique (') pour la chaîne de comparaison (partie du nom de la table) après.

`! = '

4
tony gil

Voici une requête qui répertorie toutes les tables dans toutes les bases de données et leur stockage Moteurs:

SELECT table_name, table_schema, engine
FROM information_schema.tables;

(De - https://serverfault.com/a/244792/406647 )

0
CODE-REaD
0
Michal M