MySQL/MariaDB 下的存储引擎与特点

什么是存储引擎:

   存储引擎可以完成数据存储,并为存储的数据操作索引文件、数据文件等功能。

MySQL支持的存储引擎和特点:

InnoDB(5.5.8后默认使用该引擎)及其特点

事务相关的特点:
1. 支持事务

   隔离级别默认为为 Repeatable,但与普通的 Repeatable 模式不同的是,InnoDB 使用了 next-key-locking(间隙锁)避免了 phantom(幻读)问题

2. 支持 行/表 级锁

索引相关的特点:
3. 支持外键

4. 默认使用B+Tree,属于 clustered 索引

   每一个表都有一个聚簇索引,要么是主键,要么是拥有唯一索引(unique)的列,要么是自动产生的隐式聚簇索引列。InnoDB 会按聚簇顺序存储表中每一行数据。

5. 支持 Fulltext 全文索引

   InnoDB 1.2.x 开始支持,MySQL 5.6 及以后版本,InnoDB 的版本才升级到 1.2.x。

其他特点:
6.支持Online DDL

MyISAM 及其特点:

   索引文件(.MYI)和数据文件(.MYD)是相互独立的,与 InnoDB 不同的是,缓冲池内只缓存索引文件,不缓存数据文件。

1. 只支持表锁

2. 使用的非聚簇索引关于聚簇 / 非聚簇索引可参考

3. 支持 Fulltext

Memory(Heap):

1. 数据存储在内存中,没有持久化机制

2. 默认使用 Hash(哈希)索引

InnoDB 与 MyISAM 的对比

MyISAM 读取效率较高?

   片面的说法,对于 ETL(Extract Transform Load)数据厂库类型的业务,MyISAM 有更好的优势,但在 OLTP(Online transaction processing,在线事务处理) 业务中,InnoDB 的效率更高。

存储引擎与数据结构介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值