查MySQL某个表的引擎:
- 方法1)
- show table status where name='$Table_Name'
-
- 方法2)
- xxd -l 4 tablename.frm
- 0000000: fe01 0909
-
- xxd -l 4 tablename.frm
- 0000000: fe01 0a0c
-
- 前面4位固定为fe01,紧接着4位,0C为InnoDB,09为MyISAM
查看全局引擎支持类型
MyISAM限制:
没有外键更新删除
无法回滚
没有事务
行数最多为4284867296
每一行最大的索引为64个
InnoDB限制:
不能全文索引,最新版貌似可以英文
MyISAM使用表级别的锁,而InnoDB使用行级别的锁。
更改全局引擎:
- SET storage_engine=$Engine
建表指定为InnoDB,默认为MyISAM
- CREATE TABLE table_name (rid INT) ENGINE = INNODB;
- CREATE TABLE table_name (rid INT) TYPE = INNODB;
转换一个表的存储引擎为InnoDB:
- ALTER TABLE table_name ENGINE = INNODB;