Comment puis-je vérifier rapidement à partir de la ligne de commande que toutes les tables de ma base de données sont des tables InnoDB ?
Réponses
Trop de publicités?Compter les tables de chaque moteur de stockage
SELECT COUNT(1) table_count,engine
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
GROUP BY engine;
ou pour vérifier le nombre de moteurs de stockage de chaque base de données
SELECT COUNT(1) table_count,table_schema,engine
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
GROUP BY table_schema,engine;
ou obtenir un décompte de toutes les tables non-InnoDB ( devrait être 0 )
SELECT COUNT(1) table_count
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND engine <> 'InnoDB';
Pour lister les noms de tables qui ne sont pas InnoDB et la base de données dans laquelle la table est stockée
SELECT table_schema,table_name
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND engine <> 'InnoDB';
yanychar
Points
562