MyISAM 引擎
| 1、MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM 不支持事务、行级锁、外键, |
| 有一个毫无疑问的缺陷就是 崩溃后无法安全恢复 。 |
| 2、mysql5.5之前默认的存储引擎 |
| 3、优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用 |
| 4、针对数据统计有额外的常数存储。故而 count(*) 的查询效率很高 |
| 5、数据文件结构: |
| 表名.frm 存储表结构 |
| 表名.MYD 存储数据 (MYData) |
| 表名.MYI 存储索引 (MYIndex) |
| 6、应用场景:只读应用或者以读为主的业务 |
Archive 引擎
- 用于数据存档

Blackhole 引擎
CSV 引擎
| 创建CSV表还会创建相应的 元文件 ,用于 存储表的状态 和 表中存在的行数 。此文件的名称与表的名称相同,后缀为 CSM |
Memory 引擎:
| Memory采用的逻辑介质是 内存 , 响应速度很快 ,但是当mysqld守护进程崩溃的时候 数据会丢失。 |
| 另外,要求存储的数据是数据长度不变的格式,比如,Blob和Text类型的数据不可用(长度不固定的) |
| |
| 1、Memory同时 支持哈希(HASH)索引 和 B+树索引 。 |
| 2、Memory表至少比MyISAM表要 快一个数量级 。 |
| 3、MEMORY 表的大小是受到限制 的。表的大小主要取决于两个参数,分别是 max_rows 和max_heap_table_size。 |
| 其中,max_rows可以在创建表时指定;max_heap_table_size的大小默认为16MB,可以按需要进行扩大。 |
| 4、数据文件与索引文件分开存储。 |
| 5、缺点:其数据易丢失,生命周期短。基于这个缺陷,选择MEMORY存储引擎时需要特别小心。 |
| 1. 目标数据比较小 ,而且非常 频繁的进行访问 ,在内存中存放数据,如果太大的数据会造成 内存溢出。 |
| 可以通过参数 max_heap_table_size 控制Memory表的大小,限制Memory表的最大的大小。 |
| 2. 如果 数据是临时的 ,而且 必须立即可用 得到,那么就可以放在内存中。 |
| 3. 存储在Memory表中的数据如果突然间 丢失的话也没有太大的关系 。 |
| |
Federated 引擎
| Federated引擎是访问其他MySQL服务器的一个代理,尽管该引擎看起来提供了一种很好的 跨服务器的灵活性,但也经常带来问题,因此默认是禁用的 |
Merge引擎
NDB引擎
| 也叫做 NDB Cluster 存储引擎,主要用于 MySQL Cluster 分布式集群 环境,类似于 Oracle 的 RAC 集群 |
存储引擎对比

MyISAM和InnoDB对比

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2021-06-08 maven入门