MySQL各种引擎特点简述
来源:互联网 发布:vue index.html引入js 编辑:程序博客网 时间:2024/04/30 04:35
数据库的存储引擎是对表进行某种设置,存储引擎决定该表的数据存储方式、数据更新方式、数据查询性能以及是否支持索引、事务处理性能等。MySQL常用的几种引擎有:MyISAM、InnoDB、MEMORY、CSV、BLACKHOLE、ARCHIVE、PERFORMANCE_SCHEMA、Merge等
MyISAM
MyIASM是MySQL默认的引擎,使用一种表格锁定的机制来优化多个并发的读写操作。需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。
优点:1、MyISAM表是独立于操作系统的,这说明可以轻松地将其从Windows服务器移植到Linux服务器。2、MyISAM存储引擎在查询大量数据时非常迅速,这是它最突出的优点。3、另外进行大批量插入操作时执行速度也比较快。4、单独保存了表的行数。
缺点:1、MyISAM表没有提供对数据库事务的支持。2、不支持行级锁和外键。3、不适合用于经常UPDATE(更新)的表,效率低。InnoDB
优点:1、提供事物支持。2、提供系统崩溃修复能力。3、支持多版本并发控制(即MVCC Multi-Version Concurrency Control)的行级锁,由于锁粒度小,写操作和更新操作并发高、速度快。适合更新频繁的表。4、支持自增长列。5、支持外键。6、适合于大容量数据库系统,支持自动灾难恢复。MEMORY(又称HEAP)
为了得到最快的响应时间,MEMORY引擎采用的逻辑存储介质是系统内存。
优点:1、在内存中存储表数据具有很高的性能。2同时支持散列索引和B树索引。
缺点:1、MySQL守护进程崩溃是,所有memory数据都会丢失。2、不能使用长度可变的数据类型(如BLOB和TEXT),但varchar类型可用(varchar在MySQL内部被当做char类型)
以下几种情况适合使用Memory引擎:
1、目标数据较小,且被频繁访问。
2、表数据时临时的、且要求立即使用
3、Memory表数据丢、不会对应用服务产生实质影响
注:B树索引的优于散列索引的是,可以使用部分查询和通配查询,也可以使用<、>和>=等操作符方便数据挖掘。散列索引进行“相等比较”非常快,但是对“范围比较”的速度就慢多了,因此散列索引值适合使用在=和<>的操作符中,不适合在<或>操作符中,也同样不适合用在order by子句中。
CSV(Comma-Separated Values逗号分隔值)
使用该引擎的MySQL数据库表会在MySQL安装目录data文件夹中与该表所在数据库名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型的文件当做表进行处理),这种文件是一种普通文本文件,每个数据行占用一个文本行。该种类型的存储引擎不支持索引,即使用该种类型的表没有主键列;另外也不允许表中的字段为null。ARCHIVE
ARCHIVE存储引擎非常适合存储大量独立的、作为历史记录的数据。区别于InnoDB和MyISAM这两种引擎,ARCHIVE提供了压缩功能,拥有高效的插入速度,但是这种引擎不支持索引,所以查询性能较差一些。
引擎主要用于收集数据库服务器性能参数。这种引擎提供以下功能:提供进程等待的详细信息,包括锁、互斥变量、文件信息;保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)。PERFORMANCE_SCHEMA
PERFORMANCE_SCHEMA引擎主要用于收集数据库服务器性能参数。这种引擎提供以下功能:提供进程等待的详细信息,包括锁、互斥变量、文件信息;保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)Merge
Merge引擎将一定数量的MyISAM表联合而成一个整体,且这些MyISAM表结构必须完全相同。如对每个月的日志表整合,用于生成一年的报表。- BLACKHOLE(黑洞引擎)
该存储引擎支持事务,而且支持mvcc的行级锁,写入这种引擎表中的任何数据都会消失,主要用于做日志记录或同步归档的中继存储,这个存储引擎除非有特别目的,否则不适合使用。
参考资料:
http://blog.csdn.net/gaohuanjie/article/details/50944782
http://www.jb51.net/article/55849.htm
- MySQL各种引擎特点简述
- MySQL各种存储引擎的特点以及相关知识点
- MYSQL数据库引擎特点
- MYSQL常用 存储引擎简述
- mysql--存储引擎的特点
- MySQL各存储引擎特点
- MySQL中InnoDB引擎--特点
- MySql常见数据库引擎特点
- MySql的各种引擎
- MySQL中的各种引擎
- MySQL中的各种引擎
- MySQL中的各种引擎
- MySQL中的各种引擎
- MySQL中的各种引擎
- 【mysql 存储引擎】MySQL常用存储引擎及特点
- MySQL存储引擎简述和选择
- MySQL存储引擎及各自特点
- MySQL存储引擎的应用与特点
- 降维:主成分分析(PCA)
- 高分子材料成型(八)
- 笔试面试算法经典--最长回文子串
- 【SHOI&SXOI2017】bzoj4872 分手是祝愿
- NYOJ 2
- MySQL各种引擎特点简述
- linux下删除指定文件之外的其他文件
- cocos2dx--定时器封装
- 【Unity&独立游戏】默默奋斗的独立游戏制作者们
- Android拨号盘T9搜索号码中有空格就没有匹配结果的问题
- Redis持久化
- Git工作空间地址切换方法
- [安卓基础]学习第一天
- 如何开启vmotion功能