目录
前言
整体
MyISAM存储引擎
innoDB存储引擎(mysql默认)
MEMORY存储引擎
ARCHIVE存储引擎
参考:
1、MySQL中常用存储引擎有哪些?它们相互之间有什么区别?
2、Mysql各种存储引擎对比总结(常用几种)
前言
说到存储,首先需要了解常用的存储介质。按照访问速度从高到底:
寄存器>内存>SSD>磁盘
存储引擎?
1、存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。
2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。
整体
![](https://i-blog.csdnimg.cn/blog_migrate/c6d929a535d15e0b95082ea81b889176.png)
详细参考文章1
以下为基础版本的理解记忆表格:
| 主要特点 | 适用场景 |
InnnoDB(mySQL 默认) |
|
- 对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。
- 如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
|
MyISAM |
- 读写高效率;
- 空间和内存使用比较低;
- 完整性、并发特性较差
|
- 如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。
- 如果应用的完整性、并发性要求比较低,也可以使用。
- 如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
|
MEMORY |
- 所有的数据都在内存中,数据的处理速度快,但是安全性不高。
|
- 如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。
- 它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。
- 如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
|
Archive |
- Archive支持高并发的插入操作;
- 但是本身不是事务安全的。
|
- 如果只有INSERT和SELECT操作,可以选择Archive;
- Archive非常适合存储归档数据,如记录日志信息可以使用Archiv
|