MySQL教程 MySQL教程MySQL 连接MySQL 查看数据库MySQL 创建数据库MySQL 修改数据库MySQL 删除数据库MySQL 选择数据库MySQL 数据类型MySQL存储引擎MySQL 数据表的增删改查MySQL 表数据增删改查操作MySQL 条件子句MySQL 清空表记录MySQL 模糊查询MySQL 处理重复数据MySQL 别名MySQL 限制查询结果数量Mysql 查询结果排序MySQL 范围查询MySQL 空值查询MySQL 查询结果合拼MySQL 分组MySQL 筛选分组MySQL 表连接MySQL NULL值处理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适用的生产场景举例