当前位置:主页 > 查看内容

MySQL主流存储引擎及适用场景

发布时间:2021-05-14 00:00| 位朋友查看

简介:Mysql数据库支持多种存储引擎,不同的存储引擎有其适用的场景,选择合适的存储引擎是Mysql优化的策略之一。 常见的存储引擎有:MyISAM、Innodb、Memory Innodb MySQL5.5以及之后的版本采用innodb作为默认的存储引擎,主要特点如下: 支持行级锁 支持外键约束……

Mysql数据库支持多种存储引擎,不同的存储引擎有其适用的场景,选择合适的存储引擎是Mysql优化的策略之一。

常见的存储引擎有:MyISAM、Innodb、Memory

数据库系列:Mysql主流存储引擎及适用场景

Innodb

MySQL5.5以及之后的版本采用innodb作为默认的存储引擎,主要特点如下:

  • 支持行级锁
  • 支持外键约束
  • 完备的事务机制,实现了四种隔离级别
  • 可靠性号,崩溃后修复能力较高

文件格式:

  • .frm(存储表定义)
  • 共享表空间文件:ibdata1
  • 私有表空间文件:表名.ibd
  • redo log文件

适用场景:数据修改频繁,对事务特性要求比较高(如金融系统),需要支持并发处理能力的系统。

MYISAM

MySQL5.5以前采用MYISAM作为默认的存储引擎,主要特点如下:

  • 比较强调读取效率,查询速度较快
  • 磁盘空间占用少
  • 只支持表级锁,并发能力较差
  • 不支持事务,灾难恢复能力较差

文件格式:

  • .frm(存储表定义)
  • MYD(MYData,存储数据)
  • MYI(MYIndex,存储索引)

适用场景:数据很少更新,一次插入,多次读取的业务场景。

数据库系列:Mysql主流存储引擎及适用场景

MEMORY

类似于内存缓存,表结构的定义存在磁盘上(frm文件),实际数据是存储在内存中,响应速度比较快。

  • 响应速度快
  • 表级锁,频繁更新数据可能会造成并发瓶颈
  • 不支持可变字段(但可以借助verchar实现文本存储)
  • 数据可靠性很差,机器或MySQL服务器重启后,就会丢失
  • 需要机器有足够的内存

适用场景:数据量不大,需要被频繁的访问,而且数据丢失不会对业务产生比较严重的影响。


本文转载自网络,原文链接:https://www.toutiao.com/a6657111840872464910/
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:你清楚HTTP缓存机制和原理吗? 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐