MyISAM和InnoDB存储引擎
MySQL提供了插件式(Pluggable)的存储引擎,存储引擎是基于表的,同⼀个数据库,不同的表,存储引擎可以不同。甚⾄同⼀个数据库表,在不同的场合可以应用不同的存储引擎。
使用MySQL命令即可查看MySQL服务实例支持的存储引擎。
show engines;
如果需要执⾏⼤量的select语句,出于性能⽅面的考虑,MyISAM存储引擎是更好的选择
InnoDB存储引擎的特点
- 支持外键(Foreign Key)
- 支持事务(Transaction):如果某张表主要提供OLTP支持,需要执⾏⼤量的增、删、改操作(insert、delete、update语句),出于事务安全⽅面的考虑,InnoDB存储引擎是更好的选择
- 最新版本的MySQL已经开始支持全⽂检索
MyISAM存储引擎的特点
- MyISAM具有检查和修复表的⼤多数⼯具
- MyISAM表可以被压缩
- MyISAM表最早支持全⽂索引
- 但MyISAM表不支持事务
- 但MyISAM表不支持外键(Foreign Key)
设置默认的存储引擎
MySQL5.6默认的默认的存储引擎是InnoDB。
使用MySQL命令
set default_storage_engine=MyISAM;
可以“临时地”将MySQL“当前会话的”存储引擎设置为MyISAM,使用MySQL命令“show engines;”可以查看当前MySQL服务实例默认的存储引擎。