通过查询可得:
(一)InnoDB引擎
简介:具备外键支持功能的事务存储引擎
优点:
1.是mysql的默认事务型存储引擎,它被设计用来处理大量短期事务(确保事务完整提交和回
滚)
2.除了增加和查询外,还需要进行更新删除操作,那么应该优先选择innoDB存储引擎
3.除非有特别的需求,应用是要优先考虑该存储引擎
4.拥有很好的性能设计,可以处理大数据量。
缺点:
1.和myisam引擎比较,innodb的处理效率会差一些,并且会占更多的磁盘空间以保存数据和
索引
2innodb不仅缓存索引还要换存真实数据,对内存要求高,内存是对性能有决定性作用的。
(二)MyISAM引擎
优势:
1.提供了大量的特性(全文索引,压缩,空间函数等)
2.访问速度快,对事务的完整性没有要求
3.针对数据统计有额外的常数存储,故而count(*)的查询效率很高
应用场景:只读应用或者以读为主的业务
不足:
1.不支持事务,行级锁,外键
2.崩溃后无法恢复
总结:myisam优势在于存储空间小,处理速度快,如果对事务要求不那莫高可以选择该引擎
(三)archive引擎(用于数据存档)
创建archive表时,扩展名为.ARZ
1.拥有很好的压缩机制,使用zlib压缩库,在记录请求时进行实时压缩,经常被用来作为仓库使用
2.采用了行级锁。该引擎支持auto_increment列属性
3.适合日志和数据采集;适合存储大量的独立的作为历史记录的数据,有很快的查插入速度
注:对查询的效果不太好
(四)Blackhole引擎
1.没有实现任何的存储机制了,丢弃所有的插入数据,不做任何保存
2.可以用于复制数据到备库,也可以简单记录到日志,这种会遇到很多问题,不支持使用
(五)csv引擎
简介:存储数据时以逗号分隔各个数据项,创建此表时,服务器会创建一个纯文本文件,以表名开
头扩展名为.csv。
1.可以将普通的csv文件作为MySQL的表处理,不支持索引
2.可以作为一种数据交换的机制,也可以在操作系统里用文本编辑器或者excel直接读取
3对于数据的导出导入有明显的优势。
(六)Memory引擎
简介:响应速度很快,mysql进程崩溃的时候数据会丢失,要求存储数据是长度不变的格式。
特点:
1.同时支持哈希索引和B+树索引。(默认使用哈希索引,比B+数索引快很多)
2.至少比myisam快一个数量级
3.数据文件与索引文件分开存储(有利于数据快速处理,提高整个表的处理效率)
不足:
数据容易丢失,生命周期短,基于此,选择时需要慎重
使用场景:
1.目标数据小,频繁进行访问
2.数据是临时的,而且可以用的到
3.数据突然丢失也没有太大关系
(七)Federated引擎(访问远程表)
看似有很好的跨平台性,但经常会出现问题,也是默认不用的
(八)Merge引擎
管理多个myisam表构成的集合
(九)NDB引擎
mysql集群专用引擎。主要用于分布式集群环境,类似于oracle的rac集群。