MySQL的存储引擎

2019-03-20  本文已影响0人  oneape15

前言

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


图1-1:MySQL体系结构图

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

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 非常低
内存成本
批量插入的速度 非常高
集群数据库支持 ✔︎
复制支持 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
外键支持 ✔︎
备份、时间点恢复 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
查询缓存支持 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
更新数据字典的统计信息 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
上一篇 下一篇

猜你喜欢

热点阅读