Ma base de données MySQL contient plusieurs tables utilisant différents moteurs de stockage (spécifiquement myisam et innodb). Comment savoir quelles tables utilisent quel moteur?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
Cela vous donnera (entre autres) une Engine
colonne, ce que vous voulez.
show full columns from t1
?Pour afficher une liste de toutes les tables d'une base de données et de leurs moteurs, utilisez cette requête SQL:
Remplacez
dbname
par le nom de votre base de données.la source
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
etGROUP BY
.Moins analysable mais plus lisible que
SHOW TABLE STATUS
.la source
ou juste
show table status;
juste que cela listera toutes les tables de votre base de données.
la source
Un petit peu à la réponse de Jocker (je posterais comme commentaire, mais je n'ai pas encore assez de karma):
Cela exclut les vues MySQL de la liste, qui n'ont pas de moteur.
la source
formatera beaucoup mieux que la sortie de
L'
\G
astuce est également utile à retenir pour de nombreuses autres requêtes / commandes.la source
affichera les informations pour toutes les tables d'une base de données spécifique.
le fera juste pour une table spécifique.
la source
Il répertorie toutes les tables de la base de données mentionnée.
Exemple de sortie
Il montrera le moteur de stockage utilisé par le tableau mentionné.
la source
Si vous utilisez MySQL Workbench, vous pouvez cliquer avec le bouton droit sur la table et sélectionner «modifier la table».
Dans cette fenêtre, vous pouvez voir votre moteur de table et également le modifier.
la source
Encore une autre façon, peut-être la plus courte pour obtenir le statut d'un ensemble de tables unique ou correspondant:
Vous pouvez ensuite utiliser des opérateurs LIKE par exemple:
la source
Si vous êtes un utilisateur Linux:
Pour afficher les moteurs pour toutes les tables de toutes les bases de données sur un serveur MySQL, sans tables
information_schema
,mysql
,performance_schema
:Vous pourriez aimer cela, si vous êtes sous Linux, au moins.
Ouvre toutes les informations de toutes les tables
less
, appuyez sur-S
pour couper des lignes trop longues.Exemple de sortie:
la source
allez dans la base de données information_schema où vous trouverez la table 'tables' puis sélectionnez-la;
Mysql> use information_schema; Mysql> sélectionnez nom_table, moteur à partir des tables;
la source
Si vous êtes un GUI et que vous souhaitez simplement le trouver dans PhpMyAdmin , choisissez la table de votre choix et rendez-vous sur l'
Operations
onglet >>Table options
>>Storage Engine
. Vous pouvez même le modifier à partir de là en utilisant la liste d'options déroulante.PS: ce guide est basé sur la version 4.8 de PhpMyAdmin. Je ne peux pas garantir le même chemin pour les versions très anciennes.
la source