目录
  1. 查看Mysql支持的存储引擎
  2. Mysql常用存储引擎
    1. InnoDB存储引擎
    2. MyISAM存储引擎
    3. Memory存储引擎
深入了解Mysql【二】存储引擎的比较

Mysql中插件式存储引擎是一个很重要的特点,存储引擎决定了如何存储和索引数据,是否使用事务等。

查看Mysql支持的存储引擎

mysql提供了多种存储引擎,我使用的mysql版本为5.7.23-log,其支持的存储引擎有:
mysql5.7.23-log支持的存储引擎.png
图中,默认的存储引擎是InnoDB;
其中Transactions表示是否支持事务;
XA表示是否支持分布式XA规范;
Savepoints表示是否支持事务保存点;

Mysql常用存储引擎

mysql常用存储引擎.png

这里简单的介绍几个存储引擎。

InnoDB存储引擎

  • InnoDB存储引擎支持事务,使用行级锁设计,也支持外键(虽然很少用外键);
  • InnoDB使用多版本并发控制(MVCC)来获得高并发性,并且实现了SQL标准的4中隔离级别,默认为repeatable read(允许幻读)。
  • 对于表中数据的存储,InnoDB存储引擎采用了聚集的方式,因此每张表的存储都是按主键的顺序进行存放,如果没有显式的在表定义时指定主键,其会为每一行生成6字节的ROWID作为主键。

MyISAM存储引擎

  • MyISAM存储引擎不支持事务、表锁设计,支持全文索引,面向OLAP数据库应用,比如数据仓库。
  • MyISAM存储引擎表由MYD和MYI组成,MYD用来存储数据文件,MYI用来存储索引文件。

Memory存储引擎

  • Memory存储引擎将表中的数据存放在内存中,如果数据库重启或者宕机,数据会丢失,适合存储临时数据。
  • 默认使用哈希索引。

本篇学习了常用的存储引擎,因为我学习是参考着《MySQL技术内幕:InnoDB存储引擎》这本书,
所以下篇会学习一下InnoDB存储引擎的体系架构。

tencent.jpg

文章作者: ClawHub
文章链接: https://www.clawhub.club/posts/2019/11/21/%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3Mysql/%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3Mysql%E3%80%90%E4%BA%8C%E3%80%91%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E7%9A%84%E6%AF%94%E8%BE%83/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ClawHub的博客
打赏
  • 微信
  • 支付宝
扫一扫关注ClawHub公众号,专注Java、技术分享、面试资源。