MyISAM
MyISAM表是独立于操作系统的,这说明可以轻松的将其从windows移植到Linux
每当我们建立一个MyISAM引擎表时,就会在本地磁盘创建三个文件,文件名就是表名
例如:我们建一个MyISAM引擎的tb_demo表,就会产生三个文件
1,tb_demo.frm 存储表定义
2,tb_demo.MYD 存储数据
3,tb_demo.MYI 存储索引
MyISAM无法处理事务,MyISAM特别适用于以下场景
1,选择密集型表,MyISAM在筛选大量数据时非常迅速,这是它最突出的特点
2,插入密集型表,MyISAM允许同时插入和选择数据,适合管理邮件或WEB服务器日志
InnoDB
InnoDB是一个健壮的事务型存储引擎,InnoDB引入了行级锁定和外键约束
以下InnoDB是最理想的选择:
1,更新密集型表,InnoDB引擎特别适合处理多重并发的更新请求
2,事务,InnoDB是支持事务的标准mysql存储引擎
3,自动灾难恢复,InnoDB表能够自动从灾难中恢复
4,外键约束,MySQL支持外键的只有InnoDB存储引擎
5,支持自动增加列AUTO_INCREMENT属性
一般来说,如果要支持事务,并且有较高的并发读取频率,InnoDB是个不错的选择
MEMORY
使用MySQL MEMORY存储引擎的出发点是速度,为得到最快的响应时间,采用的存储介质是系统内存
mysqld守护进程崩溃时,所有的Memory数据都会丢失
Memory数据表采用长度不变的格式,故不能使用BLOB和TEXT长度可变的类型
varchar是一种长度可变的类型,但在mysql内部当作长度固定不变的char类型,所以可以使用
其他引擎不做介绍,转自 mysql引擎介绍