如何查看表存储引擎_mysql表引擎查询

17次阅读

直接查表用的是SHOW CREATE table或SHOW TABLE STATUS命令;查单张表推荐SHOW CREATE TABLE表名,结果中ENGINE=后即为引擎类型;SHOW TABLE STATUS更准确反映实际生效引擎。

如何查看表存储引擎_mysql表引擎查询

直接查表用的是哪种引擎,最常用也最可靠的方式就三种,按使用频率和适用场景分清楚就行。

查单张表用的什么引擎

推荐用 SHOW CREATE TABLE 表名 —— 返回结果里会明确写出 ENGINE=InnoDB(或 MyISAM、MEMORY 等),一目了然。

另一个等效方法是 SHOW TABLE STATUS LIKE ‘表名’,结果集中 Engine 这一列就是当前引擎。注意:必须加引号,且大小写敏感(取决于系统设置)。

小提醒:如果 mysql 服务没启用 InnoDB,但建表语句写了 ENGINE=InnoDB,实际创建时会自动降级为默认引擎(比如 MyISAM),这时 SHOW CREATE TABLE 显示的仍是原语句写的引擎,而 SHOW TABLE STATUS 显示的是真实生效的引擎——后者更准。

查整个库所有表的引擎

SHOW TABLE STATUS FROM 数据库,能一次性列出该库下全部表的 Engine、行数、创建时间等信息,适合批量核对。

或者走系统表查询:
select TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = ‘数据库名’;
这个写法更灵活,可以加 AND ENGINE != 'InnoDB' 找非默认引擎的表,也能配合 ORDER BYLIMIT 控制输出。

确认 MySQL 支持哪些引擎 & 默认用哪个

运行 SHOW ENGINES;,看 Support 列:YES 表示已启用,default 表示当前默认引擎(通常是 InnoDB)。

单独查默认值,用:
SHOW VARIABLES LIKE ‘default_storage_engine’;
MySQL 5.7 及以前可用 storage_engine,但 8.0+ 已废弃,只认 default_storage_engine

图形化工具里怎么看

phpMyAdmin、MySQL Workbench 这类工具,在数据库 → 表列表页面,通常有“引擎”或“Type”列,直接显示;点进某张表的“结构”页,详情顶部也会标出引擎类型。

命令行之外,这是最快上手的方式,适合不常接触 SQL 的运维或开发人员。

text=ZqhQzanResources