美文网首页
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