答案 0 :(得分:39)
要确定表使用的存储引擎,您可以使用show table status
。结果中的Engine
字段将显示表的数据库引擎。或者,您可以从information_schema.tables
中选择engine
字段:
select engine
from information_schema.tables
where table_schema = 'schema_name'
and table_name = 'table_name'
您可以使用alter table
更改存储引擎:
alter table the_table engine = InnoDB;
当然,您可以指定任何可用的存储引擎。
答案 1 :(得分:13)
选择有问题的数据库并运行show table status;
答案 2 :(得分:4)
SHOW TABLE STATUS FROM `database`;
将列出所有表的所有内容,从它们是MyISAM还是InnoDB开始。如果您只想列出有关1个表的数据,可以使用以下语法*:
SHOW TABLE STATUS FROM `database` LIKE 'table';
更改表引擎:
ALTER TABLE `table` ENGINE=InnoDB;
*注意在LIKE之后使用GRAVE ACCENT(`反引号)作为数据库名称和表名,并使用SINGLE QUOTE(')作为比较字符串(表名的一部分)。
`!='
答案 3 :(得分:1)
关于将myIsam转换为Innodb
http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html
答案 4 :(得分:0)
答案 5 :(得分:0)
这是一个查询,其中列出了所有数据库及其存储引擎中的所有表:
SELECT table_name, table_schema, engine
FROM information_schema.tables;