Basis data MySQL saya berisi beberapa tabel menggunakan mesin penyimpanan yang berbeda (khususnya myisam dan innodb). Bagaimana saya bisa mengetahui tabel mana yang menggunakan mesin yang mana?
391
SHOW TABLE STATUS WHERE Name = 'xxx'
Ini akan memberi Anda (antara lain) Engine
kolom, yang Anda inginkan.
show full columns from t1
?Untuk menampilkan daftar semua tabel dalam database dan mesinnya, gunakan kueri SQL ini:
Ganti
dbname
dengan nama database Anda.sumber
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
danGROUP BY
.Kurang parseabel tetapi lebih mudah dibaca daripada
SHOW TABLE STATUS
.sumber
atau hanya
show table status;
Hanya saja ini akan mendaftar semua tabel di database Anda.
sumber
Sedikit perubahan pada respons Jocker (saya akan memposting sebagai komentar, tetapi saya belum memiliki cukup karma):
Ini tidak termasuk tampilan MySQL dari daftar, yang tidak memiliki mesin.
sumber
akan memformatnya jauh lebih bagus dibandingkan dengan keluaran
The
\G
Trik ini juga berguna untuk mengingat selama bertahun-lain permintaan / perintah.sumber
akan menampilkan info untuk semua tabel dari basis data tertentu.
akan melakukannya hanya untuk tabel tertentu.
sumber
Ini akan mencantumkan semua tabel dari database yang disebutkan.
Contoh output
Ini akan menunjukkan mesin penyimpanan yang digunakan oleh tabel yang disebutkan.
sumber
Jika Anda menggunakan MySQL Workbench, Anda dapat mengklik kanan tabel dan memilih 'alter table'.
Di jendela itu Anda bisa melihat Mesin meja Anda dan juga mengubahnya.
sumber
Namun cara lain, mungkin yang terpendek untuk mendapatkan status satu set atau satu set tabel yang cocok:
Anda kemudian dapat menggunakan LIKE operator misalnya:
sumber
Jika Anda adalah pengguna linux:
Untuk menunjukkan mesin untuk semua tabel untuk semua database pada server mysql, tanpa meja
information_schema
,mysql
,performance_schema
:Anda mungkin suka ini, jika Anda menggunakan linux, setidaknya.
Akan membuka semua info untuk semua tabel
less
, tekan-S
untuk memotong garis yang terlalu panjang.Contoh output:
sumber
buka database information_schema di sana Anda akan menemukan tabel 'tabel' lalu pilih;
Mysql> gunakan information_schema; Mysql> pilih table_name, engine from tables;
sumber
Jika Anda seorang pria GUI dan hanya ingin menemukannya di PhpMyAdmin , daripada memilih tabel pilihan Anda dan menuju ke
Operations
tab >>Table options
>>Storage Engine
. Anda bahkan dapat mengubahnya dari sana menggunakan daftar opsi drop-down.PS: Panduan ini didasarkan pada PhpMyAdmin versi 4.8. Tidak dapat menjamin jalur yang sama untuk versi yang sangat lama.
sumber