我的MySQL数据库包含几个使用不同存储引擎的表 (特别是myisam和innodb)。我怎么知道是哪几张桌子呢 使用哪个引擎?
当前回答
SHOW TABLE STATUS WHERE Name = 'xxx'
这将为您提供一个Engine列(以及其他内容),这就是您想要的。
其他回答
要显示数据库中所有表及其引擎的列表,使用下面的SQL查询:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
将dbname替换为数据库名称。
如果你是一个GUI的家伙,只是想在PhpMyAdmin中找到它,然后选择你选择的表,并在操作选项卡>>表选项>>存储引擎。 您甚至可以从那里使用下拉选项列表更改它。
PS:本指南基于PhpMyAdmin的4.8版本。不能保证非常旧的版本有相同的路径。
显示数据库表状态;
它将列出上述数据库中的所有表。 示例输出
显示name=your_desired_table_name表状态;
它将显示上述表使用的存储引擎。
mysqlshow -i <database_name>
将显示特定数据库的所有表的信息。
mysqlshow -i <database_name> <table_name>
只对一个特定的表这样做。
除了前面的例子外,你还可以从information_schema db中通过标准查询得到如下信息:
use information_schema;
select NAME from INNODB_TABLES where NAME like "db_name%";