486 votes

Comment puis-je vérifier le type de moteur MySQL pour une table spécifique ?

Ma base de données MySQL contient plusieurs tables utilisant différents moteurs de stockage (notamment myisam et innodb). Comment puis-je savoir quelles tables utilisent utilisent quel moteur ?

2voto

sjas Points 3175

Si vous êtes un utilisateur de linux :

Pour afficher les moteurs de toutes les tables de toutes les bases de données d'un serveur mysql, sans tables information_schema , mysql , performance_schema :

less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------";  mysql -e "use $i; show table status;"; done } | column -t)

Vous devriez aimer ça, si vous êtes sous Linux, du moins.

Ouvrira toutes les informations pour toutes les tables dans less , appuyez sur -S pour couper les lignes trop longues.

Exemple de sortie :

--------------------information_schema--------------------
Name                                                        Engine              Version  Row_format  Rows   Avg_row_length  Data_length  Max_data_length     Index_length  Data_free  Auto_increment  Create_time  Update_time  Check_time  C
CHARACTER_SETS                                              MEMORY              10       Fixed       NULL   384             0            16434816            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATIONS                                                  MEMORY              10       Fixed       NULL   231             0            16704765            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATION_CHARACTER_SET_APPLICABILITY                       MEMORY              10       Fixed       NULL   195             0            16357770            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLUMNS                                                     MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
COLUMN_PRIVILEGES                                           MEMORY              10       Fixed       NULL   2565            0            16757145            0             0          NULL            2015-07-13   15:48:45     NULL        N
ENGINES                                                     MEMORY              10       Fixed       NULL   490             0            16574250            0             0          NULL            2015-07-13   15:48:45     NULL        N
EVENTS                                                      MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
FILES                                                       MEMORY              10       Fixed       NULL   2677            0            16758020            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_STATUS                                               MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_VARIABLES                                            MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
KEY_COLUMN_USAGE                                            MEMORY              10       Fixed       NULL   4637            0            16762755            0 

.
.
.

0voto

harsha vardhan Points 1

Allez dans la base de données information_schema où vous trouverez la table 'tables' puis sélectionnez-la ;

Mysql>utiliser information_schema ; Mysql> select table_name,engine from tables ;

0voto

mytuny Points 156

Si vous êtes un GUI gars et je veux juste le trouver dans PhpMyAdmin puis choisissez la table de votre choix et rendez-vous sur le site de l'association. Operations tab >> Table options >> Storage Engine . Vous pouvez même le modifier à partir de là en utilisant la liste déroulante des options.

PS : Ce guide est basé sur la version 4.8 de PhpMyAdmin. Je ne peux pas garantir le même chemin pour les versions plus anciennes.

0voto

mabreu0 Points 38

En dehors des exemples présentés dans les entrées précédentes, vous pouvez également obtenir cette information à partir de la base de données information_schema avec une requête standard comme suit :

use information_schema;

select NAME from INNODB_TABLES where NAME like "db_name%";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X