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

0 0
原创粉丝点击