Moja baza danych MySQL zawiera kilka tabel używających różnych silników pamięci (w szczególności myisam i innodb). Jak mogę dowiedzieć się, które tabele używają danego silnika?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
To da ci (między innymi) Engine
kolumnę, która jest tym, czego chcesz.
show full columns from t1
?Aby wyświetlić listę wszystkich tabel w bazie danych i ich silnikach, użyj tego zapytania SQL:
Zamień
dbname
na nazwę swojej bazy danych.źródło
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
iGROUP BY
.Mniej analizowalny, ale bardziej czytelny niż
SHOW TABLE STATUS
.źródło
Lub tylko
show table status;
po prostu spowoduje to wyświetlenie listy wszystkich tabel w bazie danych.
źródło
Drobne poprawki w odpowiedzi Jockera (opublikowałbym jako komentarz, ale nie mam jeszcze dość karmy):
Wyklucza to widoki MySQL z listy, które nie mają silnika.
źródło
sformatuje go o wiele ładniej w porównaniu do wyjścia
\G
Sztuką jest również przydatny do zapamiętania dla wielu innych zapytań / poleceń.źródło
pokaże informacje dla wszystkich tabel konkretnej bazy danych.
zrobi to tylko dla konkretnego stołu.
źródło
Wyświetli listę wszystkich tabel ze wspomnianej bazy danych.
Przykładowe dane wyjściowe
Pokaże silnik pamięci używany przez wspomnianą tabelę.
źródło
Jeśli korzystasz z MySQL Workbench, możesz kliknąć tabelę prawym przyciskiem myszy i wybrać „zmień tabelę”.
W tym oknie możesz zobaczyć swój silnik tabeli, a także go zmienić.
źródło
Jeszcze inny sposób, być może najkrótszy, aby uzyskać status pojedynczego lub dopasowanego zestawu tabel:
Następnie możesz użyć operatorów LIKE, na przykład:
źródło
Jeśli jesteś użytkownikiem systemu Linux:
Aby pokazać silniki dla wszystkich tabel dla wszystkich baz danych na serwerze MySQL, bez tabel
information_schema
,mysql
,performance_schema
:Możesz to pokochać, przynajmniej na Linuksie.
Otworzy wszystkie informacje dla wszystkich tabel w
less
, naciśnij,-S
aby posiekać zbyt długie linie.Przykładowe dane wyjściowe:
źródło
przejdź do bazy danych information_schema, znajdziesz tabelę „tabele”, a następnie wybierz ją;
Mysql> use information_schema; Mysql> wybierz nazwę_tabeli, silnik z tabel;
źródło
Jeśli jesteś facetem z GUI i po prostu chcesz go znaleźć w PhpMyAdmin , to wybierz tabelę i
Operations
przejdź do zakładki >>Table options
>>Storage Engine
. Możesz nawet zmienić go stamtąd za pomocą rozwijanej listy opcji.PS: Niniejszy przewodnik oparty jest na wersji 4.8 PhpMyAdmin. Nie można zagwarantować tej samej ścieżki dla bardzo starszych wersji.
źródło