首页 > 数据库技术 > 详细

MySQL的存储引擎

时间:2020-04-01 11:40:22      阅读:69      评论:0      收藏:0      [点我收藏+]

一、运行show engines命令,查看当前数据库支持的存储引擎

技术分享图片

 二、常用的存储引擎

  • InnoDB(mysql从5+版本之后就默认使用的存储引擎)

  1. 可以通过自动增长列,方法是auto_increment。
  2. 支持事务。默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。
  3. 使用的锁粒度为行级锁,可以支持更高的并发;
  4. 支持外键约束;外键约束其实降低了表的查询速度,但是增加了表之间的耦合度。
  5. 配合一些热备工具可以支持在线热备份;
  6. 在InnoDB中存在着缓冲管理,通过缓冲池,将索引和数据全部缓存起来,加快查询的速度;
  7. 对于InnoDB类型的表,其数据的物理组织形式是聚簇表。所有的数据按照主键来组织。数据和索引放在一块,都位于B+数的叶子节点上;

当然InnoDB的存储表和索引也有下面两种形式:

  1. 使用共享表空间存储:所有的表和索引存放在同一个表空间中。
  2. 使用多表空间存储:表结构放在frm文件,数据和索引放在IBD文件中。分区表的话,每个分区对应单独的IBD文件,分区表的定义可以查看我的其他文章。使用分区表的好处在于提升查询效率。
  • MyISAM

使用这个存储引擎,每个MyISAM在磁盘上存储成三个文件。

  1. frm文件:存储表的定义数据
  2. MYD文件:存放表具体记录的数据
  3. MYI文件:存储索引
  • MEMORY

三、对比图表

技术分享图片

 

MySQL的存储引擎

原文:https://www.cnblogs.com/zhouxuezheng/p/12610256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!