MySQL 8.0支持的存储引擎

看完本文建议掌握的知识点:

看完本文建议掌握的知识点:

1、MyISAM和InnoDB支持B树索引
2、InnoDB在5.6之后支持全文检索(布尔搜索与全文检索)
3、MyISAM和InnoDB的锁粒度
4、InnoDB中支持聚集索引
5、各种引擎的存储容量限制

存储引擎介绍:

InnoDB:
MySQL 8.0中采用的默认引擎,是一款遵循ACID的具有提交、回滚、灾难恢复等能力保护用户数据的的事务安全引擎,InnoDB的 行级锁(不升级为粗粒度锁),Oracle风格的一致非锁定读提高了多用户并发与性能。InnoDB 将用户数据存储在聚集索引中以减少常见的基于主键查询的I/O次数。为维护数据的完整性,InnoDB 也支持外键的引用完整性约束

MyISAM:
该引擎表级锁定限制了读/写工作负载的性能,因此它通常用于Web和数据仓库配置中的只读或以读为主的工作负载

Memory:
所有的数据都在RAM内存中,在需要快速查找非关键数据的环境中实现快速访问,以前叫堆引擎。她的使用案例正在减少;InnoDB的缓冲区提供了一种通用和持久的方法,可以把大量或者所有的数据保存在内存中,NDBCLUSTER为大型分布式数据集提供快速的键值查找

CSV:
它的表实际上是带有逗号分隔值的文本文件。CSV表以CSV格式导入或转储数据,以便与读写相同格式的脚本和应用程序交换数据。因为CSV表没有索引,所以通常在正常操作期间将数据保存在InnoDB表中,并且仅在导入或导出阶段使用CSV表
Archive:
这些紧凑的未索引表用于存储和检索大量很少引用的历史、存档或安全审计信息
Blackhole:
黑洞存储引擎接受但不存储数据,类似于Unix/dev/null设备。查询总是返回一个空集。这些表可用于复制配置,其中DML语句被发送到副本服务器,但源服务器不保留自己的数据副本。
NDB (also known as NDBCLUSTER):
此群集数据库引擎特别适合于需要尽可能高的正常运行时间和可用性的应用程序.

Merge:
MySQL DBA或开发人员能够对一系列相同的MyISAM表进行逻辑分组,并将它们作为一个对象引用。适用于VLDB环境,如数据仓库
Federated:
提供链接不同的MySQL服务器的能力,从许多物理服务器创建一个逻辑数据库。非常适合分布式或数据集市环境。
Example:
这个引擎是MySQL源代码中的一个例子,说明了如何开始编写新的存储引擎。它主要是开发者感兴趣的。存储引擎是一个什么都不做的“存根”。您可以使用此引擎创建表,但不能在其中存储或从中检索数据。

各大引擎支持的功能:

功能 MyISAM Memory InnoDB Archive NDB
B-tree indexes----B树索引
Backup/point-in-time recovery (note 1)----备份、按照时间点恢复数据
Cluster database support---支持集群
Clustered indexes---聚集索引
Compressed data---数据压缩 是(note 2)
Data caches---数据缓存 N/A
Encrypted data---数据加密 是(note 3) 是(note 3) 是(note 4) 是(note 3) 是(note 3)
Foreign key support---外键支持 是(note 5)
Full-text search indexes---全文检索 是(note 6)
Geospatial data type support---地理空间数据支持
Geospatial indexing support---地理空间索引支持 是(note 7)
Hash indexes---哈希索引 No (note 8) No
Index caches---索引缓存 N/A No
Locking granularity---锁粒度 Table Table Row Row Row
MVCC---多版本并发控制
Replication support (note 1)---支持复制 Limited (note 9)
Storage limits---存储限制 256TB RAM 64TB None 384EB
T-tree indexes---T树索引
Transactions---事务
Update statistics for data dictionary---更新数据字典的统计信息

你可能感兴趣的:(mysql,mysql)