MySQL教程 MySQL教程MySQL 连接MySQL 查看数据库MySQL 创建数据库MySQL 修改数据库MySQL 删除数据库MySQL 选择数据库MySQL 数据类型MySQL存储引擎MySQL 数据表的增删改查MySQL 表数据增删改查操作MySQL 条件子句MySQL 清空表记录MySQL 模糊查询MySQL 处理重复数据MySQL 别名MySQL 限制查询结果数量Mysql 查询结果排序MySQL 范围查询MySQL 空值查询MySQL 查询结果合拼MySQL安装 MySQL Windows版下载教程MySQL windows系统安装教程MySQL windows系统简单的安装教程MySQL Linux系统安装教程MySQL Linux系统下载教程MySQL Linux系统简单的安装教程配置MySQL环境变量

MySQL存储引擎

数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行增、删、改、查数据操作。简而言之,存储引擎就是指表的类型。数据库的存储引擎决定了表在计算机中的存储方式。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。

MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。

MySQL支持的存储引擎

MySQL存储引擎特征汇总

使用mysql提供的各种存储引擎的设计考虑到了不同的用例。下表概述了使用mysql提供的一些存储引擎,表后有澄清说明。

特征MyISAMMemoryInnoDBArchiveNDB
B树指数是的是的是的
备份/点时回收(注1)是的是的是的是的是的
集群数据库支持是的
集群索引是的
压缩数据有(注2)是的是的
数据缓存N/A是的是的
加密数据有(注3)有(注3)有(注4)有(注3)有(注5)
外键支持是的是的
全文检索索引是的有(附注6)
地理空间数据类型支助是的是的是的是的
地理空间索引支助是的有(附注7)
哈希指数是的否(注8)是的
索引库是的N/A是的是的
锁定粒度
MVCC是的
复制支持(注1)是的受限(附注9)是的是的是的
存储限制256TBRAM
64TB没有384EB
T树索引是的
事务/交易是的是的
更新数据字典统计数据是的是的是的是的是的

注:

1.在服务器中实现,而不是在存储引擎中实现.

2.只有在使用压缩行格式时,才支持压缩MyISAM表。使用压缩行格式的表仅被读取。

3.通过加密功能在服务器上实现.

4.通过加密功能在服务器中实现;在mysql5.7和以后,支持数据终止加密。

5.通过加密功能在服务器上实现;加密的ndb备份到ndb8.0.22;透明的ndb文件系统加密支持在ndb8.0.29和以后。

6.对全文索引的支持可以在mysql5.6及以后使用。

7.对地理空间索引的支持载于mysql5.7及以后。

8.InnoDB内部使用散列索引进行自适应散列索引功能。

9.见本节后面的讨论。

InnoDB存储引擎概述

InnoDB适用生产场景分析

MyISAM存储引擎概述

MyISAM适用的生产场景举例