[英]How can I determine type of mysql database : whether it is InnoDB or MyISAM?
要确定表正在使用的存储引擎,可以使用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
:
alter table the_table engine = InnoDB;
当然,您可以在哪里指定任何可用的存储引擎。
选择有问题的数据库并运行show table status;
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(')用作比较字符串(表名称的一部分)。
'!='
关于将myIsam转换为Innodb
http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html
这是一个查询,列出了所有数据库及其存储引擎中的所有表:
SELECT table_name, table_schema, engine
FROM information_schema.tables;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.