Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แสดงตารางที่ใช้ InnoDB Storage Engine ใน MySQL

Query จาก information_schema.TABLES กรอง ENGINE = 'InnoDB' และตัด System Databases ออก

Query

SELECT TABLE_SCHEMA AS DATABASENAME, 
       TABLE_NAME AS AllTABLENAME, 
       ENGINE AS ENGINETYPE 
FROM information_schema.TABLES 
WHERE ENGINE = 'InnoDB' 
AND TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys');

ผลลัพธ์ตัวอย่าง (บางส่วน)

+--------------+--------------------------------------------------+------------+
| DATABASENAME | AllTABLENAME                                     | ENGINETYPE |
+--------------+--------------------------------------------------+------------+
| business     | mytable                                          | InnoDB     |
| business     | primarytable                                     | InnoDB     |
| business     | tblstudent                                       | InnoDB     |
| business     | student                                          | InnoDB     |
| education    | university                                       | InnoDB     |
| test         | destination                                      | InnoDB     |
| ...          | ... (194 rows total)                             | ...        |
+--------------+--------------------------------------------------+------------+

Query นับจำนวนตาราง InnoDB ต่อ Database

SELECT TABLE_SCHEMA, COUNT(*) AS InnoDB_Tables
FROM information_schema.TABLES
WHERE ENGINE = 'InnoDB' 
AND TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys')
GROUP BY TABLE_SCHEMA
ORDER BY InnoDB_Tables DESC;

ตรวจสอบ Engine ของตารางเดียว

SHOW TABLE STATUS LIKE 'your_table_name';

ดูคอลัมน์ Engine

หมายเหตุ: MySQL 5.7+ ใช้ InnoDB เป็น Default Engine แล้ว ตารางใหม่จะเป็น InnoDB อัตโนมัติ เว้นแต่ระบุ ENGINE=MyISAM