美文网首页
MySQL的存储引擎

MySQL的存储引擎

作者: oneape15 | 来源:发表于2019-03-20 23:24 被阅读0次

前言

MySQL被设计为一个单进程多线程架构的数据库,其体系结构如下图1-1所示:


图1-1:MySQL体系结构图

从图1-1我们可以发现,MySQL由以下几部分组成:

  • 连接池组件(Connection Pool)。
  • 管理服务和工具组件(Management Services & Utilities)。
  • SQL接口组件(SQL Interface)。
  • 查询分析器组件(Parser)。
  • 优化器组件(Optimizer)。
  • 缓冲组件(Caches & Buffers)。
  • 插件式存储引擎(Pluggable Storage Engines)。
  • 物理文件(Files & Logs)。

MySQL区别于其他数据库的最重要的特点:
拥有插件式的表存储引擎

接下来我们具体说说MySQL的表存储引擎。

MySQL表存储引擎

存储引擎的好处在于,每个存储引擎都有各自的特点,能够根据具体的应用建立不同的存储引擎表。
由于MySQL的开源特性,存储引擎可以分为MySQL官方存储引擎和第三方存储引擎。

以下表格列出常见存储引擎的特性特点:

特性 MyISAM BDB Memory InnoDB Archive NDB
存储限制 No No Yes 64TB No Yes
事务(提交、回滚等) ✔︎ ✔︎
锁粒度 Table Page Table Row Row Row
MVCC ✔︎ ✔︎ ✔︎
地理空间支持 ✔︎
B-Tree 索引 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
Hash索引 ✔︎ ✔︎ ✔︎
全文检索索引 ✔︎
聚集索引 ✔︎
数据缓存 ✔︎ ✔︎ ✔︎
索引缓存 ✔︎ ✔︎ ✔︎ ✔︎
压缩数据 ✔︎ ✔︎
加密数据 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
存储成本(空间利用率) N/A 非常低
内存成本
批量插入的速度 非常高
集群数据库支持 ✔︎
复制支持 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
外键支持 ✔︎
备份、时间点恢复 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
查询缓存支持 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
更新数据字典的统计信息 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎

相关文章

网友评论

      本文标题:MySQL的存储引擎

      本文链接:https://www.haomeiwen.com/subject/iovxvqtx.html