Mi base de datos MySQL contiene varias tablas que utilizan diferentes motores de almacenamiento (específicamente myisam e innodb). ¿Cómo puedo saber qué tablas están usando qué motor?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
Esto le dará (entre otras cosas) una Engine
columna, que es lo que desea.
show full columns from t1
?Para mostrar una lista de todas las tablas en una base de datos y sus motores, use esta consulta SQL:
Reemplace
dbname
con el nombre de su base de datos.fuente
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
yGROUP BY
.Menos analizable pero más legible que
SHOW TABLE STATUS
.fuente
o solo
show table status;
solo que esto listará todas las tablas en su base de datos.
fuente
Un pequeño ajuste a la respuesta de Jocker (publicaría como un comentario, pero todavía no tengo suficiente karma):
Esto excluye las vistas de MySQL de la lista, que no tienen un motor.
fuente
lo formateará mucho mejor en comparación con la salida de
El
\G
truco también es útil para recordar para muchas otras consultas / comandos.fuente
mostrará la información de todas las tablas de una base de datos específica.
lo hará solo para una tabla específica.
fuente
Enumerará todas las tablas de la base de datos mencionada.
Salida de ejemplo
Mostrará el motor de almacenamiento utilizado por la tabla mencionada.
fuente
Si está utilizando MySQL Workbench, puede hacer clic con el botón derecho en la tabla y seleccionar 'alterar tabla'.
En esa ventana puede ver su tabla Engine y también cambiarla.
fuente
Otra forma, quizás la más corta para obtener el estado de un conjunto de tablas único o coincidente:
Luego puede usar operadores LIKE, por ejemplo:
fuente
Si eres un usuario de Linux:
Para mostrar los motores para todas las tablas para todas las bases de datos en un servidor MySQL, sin tablas
information_schema
,mysql
,performance_schema
:Puede que te encante esto, si estás en Linux, al menos.
Se abrirá toda la información para todas las tablas
less
, presione-S
para cortar líneas demasiado largas.Salida de ejemplo:
fuente
vaya a la base de datos de información_esquema allí encontrará la tabla 'tablas' y luego selecciónela;
Mysql> use information_schema; Mysql> seleccione nombre_tabla, motor de tablas;
fuente
Si eres un tipo de GUI y solo quieres encontrarlo en PhpMyAdmin , elige la tabla que elijas y ve a la
Operations
pestaña >>Table options
>>Storage Engine
. Incluso puede cambiarlo desde allí utilizando la lista de opciones desplegable.PD: esta guía se basa en la versión 4.8 de PhpMyAdmin. No se puede garantizar la misma ruta para versiones muy antiguas.
fuente