Meu banco de dados MySQL contém várias tabelas usando diferentes mecanismos de armazenamento (especificamente myisam e innodb). Como posso descobrir quais tabelas estão usando qual mecanismo?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
Isso fornecerá a você (entre outras coisas) uma Engine
coluna, que é o que você deseja.
show full columns from t1
?Para mostrar uma lista de todas as tabelas em um banco de dados e seus mecanismos, use esta consulta SQL:
Substitua
dbname
pelo nome do seu banco de dados.fonte
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
eGROUP BY
.Menos analisável, mas mais legível que
SHOW TABLE STATUS
.fonte
ou apenas
show table status;
apenas isso listará todas as tabelas no seu banco de dados.
fonte
Um pouco da resposta de Jocker (eu postaria como um comentário, mas ainda não tenho karma suficiente):
Isso exclui as visualizações MySQL da lista, que não possuem um mecanismo.
fonte
irá formatá-lo muito melhor em comparação com a saída de
O
\G
truque também é útil para lembrar para muitas outras consultas / comandos.fonte
mostrará as informações para todas as tabelas de um banco de dados específico.
fará isso apenas para uma tabela específica.
fonte
Ele listará todas as tabelas do banco de dados mencionado.
Saída de exemplo
Ele mostrará o mecanismo de armazenamento usado pela tabela mencionada.
fonte
Se você estiver usando o MySQL Workbench, clique com o botão direito do mouse na tabela e selecione 'alterar tabela'.
Nessa janela, você pode ver o seu mecanismo de tabela e também alterá-lo.
fonte
Outra maneira, talvez a mais curta para obter o status de um único ou conjunto de tabelas correspondente:
Você pode usar os operadores LIKE, por exemplo:
fonte
Se você é um usuário Linux:
Para mostrar os motores para todas as tabelas para todos os bancos de dados em um servidor MySQL, sem tabelas
information_schema
,mysql
,performance_schema
:Você pode amar isso, se você estiver no Linux, pelo menos.
Irá abrir todas as informações para todas as tabelas
less
, pressione-S
para cortar linhas excessivamente longas.Exemplo de saída:
fonte
vá para o banco de dados information_schema, você encontrará a tabela 'tables' e a seleciona;
Mysql> use information_schema; Mysql> selecione nome_da_tabela, mecanismo das tabelas;
fonte
Se você é um usuário de GUI e deseja apenas encontrá-lo no PhpMyAdmin , escolha a tabela de sua preferência e vá para a
Operations
guia >>Table options
>>Storage Engine
. Você pode até mudar a partir daí usando a lista de opções suspensa.PS: Este guia é baseado na versão 4.8 do PhpMyAdmin. Não é possível garantir o mesmo caminho para versões muito mais antigas.
fonte