Meine MySQL-Datenbank enthält mehrere Tabellen mit verschiedenen Speicher-Engines (insbesondere myisam und innodb). Wie kann ich herausfinden, welche Tabellen welche Engine verwenden?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
Dadurch erhalten Sie (unter anderem) eine Engine
Spalte, die Sie möchten.
show full columns from t1
?Verwenden Sie diese SQL-Abfrage, um eine Liste aller Tabellen in einer Datenbank und ihrer Engines anzuzeigen:
Ersetzen Sie
dbname
durch Ihren Datenbanknamen.quelle
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
und tun kannGROUP BY
.Weniger analysierbar, aber besser lesbar als
SHOW TABLE STATUS
.quelle
oder nur
show table status;
Nur dass dadurch alle Tabellen in Ihrer Datenbank aufgelistet werden.
quelle
Eine kleine Änderung an Jockers Antwort (ich würde als Kommentar posten, aber ich habe noch nicht genug Karma):
Dies schließt MySQL-Ansichten aus der Liste aus, die keine Engine haben.
quelle
wird es viel schöner formatieren als die Ausgabe von
Der
\G
Trick ist auch nützlich, um sich an viele andere Abfragen / Befehle zu erinnern.quelle
zeigt die Informationen für alle Tabellen einer bestimmten Datenbank an.
wird dies nur für eine bestimmte Tabelle tun.
quelle
Es werden alle Tabellen aus der genannten Datenbank aufgelistet.
Beispielausgabe
Es wird die von der genannten Tabelle verwendete Speicher-Engine angezeigt.
quelle
Wenn Sie die MySQL Workbench verwenden, können Sie mit der rechten Maustaste auf die Tabelle klicken und "Tabelle ändern" auswählen.
In diesem Fenster können Sie Ihre Tabelle Engine sehen und auch ändern.
quelle
Noch ein anderer Weg, vielleicht der kürzeste, um den Status eines einzelnen oder übereinstimmenden Satzes von Tabellen zu erhalten:
Sie können dann beispielsweise LIKE-Operatoren verwenden:
quelle
Wenn Sie ein Linux-Benutzer sind:
Um die Motoren zu zeigen für alle Tabellen für alle Datenbanken auf einem MySQL - Server, ohne Tabellen
information_schema
,mysql
,performance_schema
:Sie könnten dies lieben, wenn Sie zumindest unter Linux sind.
Öffnet alle Informationen für alle Tabellen in
less
, drücken Sie-S
, um zu lange Zeilen zu hacken.Beispielausgabe:
quelle
Gehen Sie zur Datenbank information_schema, dort finden Sie die Tabelle 'tables' und wählen Sie sie aus.
MySQL> benutze information_schema; MySQL> Wählen Sie Tabellenname, Engine aus Tabellen;
quelle
Wenn Sie ein GUI- Typ sind und es nur in PhpMyAdmin finden möchten , wählen Sie die Tabelle Ihrer Wahl aus und gehen Sie über die
Operations
Registerkarte >>Table options
>>Storage Engine
. Sie können es sogar von dort aus mithilfe der Dropdown-Optionsliste ändern.PS: Dieses Handbuch basiert auf Version 4.8 von PhpMyAdmin. Kann nicht den gleichen Pfad für sehr ältere Versionen garantieren.
quelle