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