mysql存储引擎区别解读重点讲解InnoDB和MyISAM
MySQL存储引擎
我们平常都是使用的默认的InnoDB存储引擎,可以查看表信息来看,但是老版本的mysql以前默认的是MyISAM,那么区别到底在哪?
官网解释
mysql8.0
https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/storage-engines.html
mysql5.7
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/storage-engines.html
详细解释8.0版本
MyISAM
Transactions事务:不支持
Data caches数据缓存:不支持
Foreign key support外键:不支持
Locking granularity并发锁:表级锁(简单来说,表级锁就是不支持多人同时修改同一个表,有一个用户在占用就锁定表)
MVCC多版本并发控制:不支持
InnoDB
Transactions事务:支持
Data caches数据缓存:支持
Foreign key support外键:支持
Locking granularity并发锁:行级锁(多人改表只锁定每个人修改的那行)
MVCC多版本并发控制:支持
其他存储引擎
Performance_Schema:Performance_Schema数据库专门使用的存储引擎
Memory :把所有的数据存储在RAM中,在被所需快速查找参考和其他类似数据的环境中快
速进行访问,适用存放临时数据。这种引擎在以前被称为HEAP引擎
MRG_MyISAM:使MySQL DBA或开发人员能够对一系列相同的MyISAM表进行逻辑分组,并将其作为一个对象引用。适用于VLDB(Very Large Data Base)环境,如数据仓库
Archive :为存储和检索大量很少参考的存档或安全审核信息只支持SELECT和INSERT两种操作;支
持行级锁和专用缓存区
Federated联合:用于访问其它远程MySQL服务器一个代理,它是通过创建一个到远程MySQL服务
器的客户端连接的,并且会将查询传输到远程服务器来执行,然后完成数据存取,提供链接单独的MySQL服
务器的功能,以便从多个物理服务器创建一个逻辑数据库。很适合分布式还有数据集市下的环境使用。
BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK还有其他的事务特性,具体可以自行查询。
Cluster/NDB:MySQL之中的簇式数据库引擎,非常适于具有高性能查找的要求程序,这类查
找需求必须还要求具有最高的工作时间和非常可靠的可用性。
CSV:CSV存储引擎逗号作为分隔值格式将数据存储在文本文件中,使用CSV引擎以CSV格式
导入和导出其他软件和应用程序之间的数据交换。
BLACKHOLE :被称为黑洞存储引擎接受数据但不存储数据,检索的时候总是返回空集。这个功能适合用于分布式数
据库设计,数据自动复制但不是本地存储
example:"stub"引擎它什么都不做。可以使用此引擎创建表但无法将数据存储在其中并且无法从中
检索。目的是作为一个示例说明应该如何开始编写新存储引擎
本文系作者 @亦秋先生 原创发布在亦秋先生博客站点。未经许可,禁止转载。
暂无评论数据