文章原文:blog.ouyangsihai.cn >> InnoDB与MyISAM等存储引擎对比

InnoDB存储引擎介绍

InnoDB引擎是Mysql的默认的存储引擎,他有很多自己的特性,下面一一列举。

  • 支持事务,InnoDB存储引擎主要就是为了在线事务处理(OLTP)的应用而设计的。
  • 行锁设计,支持外键,非锁定读。
  • 支持多版本的并发控制(MVCC)来获得高并发性。
  • 提供了插入缓冲、二次写、自适应哈希索引、预读等高性能和高可用的功能。

上面这些算是 InnoDB 存储引擎的一些特点了,也是它的优势所在,为什么 InnoDB 引擎会使用如此广泛,就是因为它能有很好的性能。

MyISAM储存引擎介绍

  • 不支持事务,它的设计目标是面向在线分析的应用(OLAP)。
  • 支持全文索引。
  • 表锁设计
  • 它的缓冲池只缓冲索引文件不缓冲数据文件,所以 MyISAM 存储引擎表由 MYDMYI 组成,前者存储数据文件,后者存储索引文件。

存储引擎之间的对比

这一部分,主要简要的介绍一下各个存储引擎之间的差别,及主要的作用及特点。

特性对比

特性 MyISAM InnoDB BDB Memory Archive NDB
存储限制 64TB
事务 支持 支持
锁级别 表锁 行锁 page
MVCC(并发控制) 支持 支持 支持
全文索引 支持
集群索引 支持
数据缓存和索引缓存 支持 支持 支持
数据压缩 支持 支持
批量插入速度 很高
集群数据库支持 支持
外键支持 支持
适用场景 不需要事务的操作;插入、更新少,读取频繁;频繁的统计计算。 需要事务的操作;更新数据需要使用行级锁;大数据量读写;大型互联网应用。 类似 InnoDB 数据量不大,需要被频繁的访问,而且数据丢失不会对业务产生比较严重的影响。 存储引擎基本上用于数据归档,作为日志表 集群

存储引擎特性介绍

存储引擎 主要特点
BDB 可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性
Memory 数据存储在内存中,重启或崩溃,数据消失,使用哈希索引
Archive 只支持Insert和Select操作,支持索引,非常适合存储归档数据, 目标:高速插入和压缩功能
NDB 集群存储引擎,数据全部放在内存中,高可用、高性能的集群系统
Federated 不存放数据,只是指向一台远程MySQL数据库服务器上的表
Maria 新开发引擎,用于取代MyISAM存储引擎。 支持事务和非事务、缓存、索引文件、行锁、MVCC功能

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号好好学java,获取优质学习资源。

InnoDB与MyISAM等存储引擎对比相关推荐

  1. MySQL数据库中的MyISAM和InnoDB存储引擎对比

    一.InnoDB和MylSAM存储引擎对比 MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访 ...

  2. MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)

    MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎 1.存储引擎其实就是如何实现存储数据 ...

  3. myisam为什么比innodb查询快_mysql存储引擎之MyISAM 和 InnoDB的比较

    一.什么是存储引擎 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 ...

  4. 3种mysql的储存机制_MySQL三种InnoDB、MyISAM和MEMORY存储引擎对比

    三种引擎的区别: 事务:InnoDB支持事务,MyISAM和MEMORY两个不支持. 存储限制:InnoDB有64TB的存储限制,MyISAM和MEMORY要跟具体情况而定. 空间使用:InnoDB对 ...

  5. mysql存储引擎6_Mysql各种存储引擎对比总结

    存储引擎是数据库的核心,对于mysql来说,存储引擎是以插件的形式运行的.虽然mysql支持种类繁多的存储引擎,但是常用的就那么几种.这篇文章主要是对其进行一个总结和对比. 一.引言 在mysql5之 ...

  6. mysql引擎总结_MySQL存储引擎对比总结

    存储引擎是数据库的核心,对于mysql来说,存储引擎是以插件的形式运行的.虽然mysql支持种类繁多的存储引擎,但是常用的就那么几种.这篇文章主要是对其进行一个总结和对比. 一.引言 在mysql5之 ...

  7. Mysql中各种常见数据库存储引擎对比

    转载于:https://www.cnblogs.com/Jasxu/p/mysql_data_engine.html

  8. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

  9. Mysql存储引擎详解(MyISAM与InnoDB的区别)

    Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎     MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...

最新文章

  1. 采购审批专题总结--bob
  2. 047_Divider分割线
  3. 线程池和线程详细教程
  4. 如何找到Eclipse左侧项目栏
  5. 2019hdu多校1
  6. php脚本定时更新商品列表
  7. EasyUI 添加一行的时候 行号出现负数的解决方案
  8. 安卓滚动字幕以及TextSwitcher、ImageSwitcher使用
  9. 人工智能 AI技术学习路线图 初阶+中阶+高阶
  10. 英文java简历模板下载_JAVA技术人员英文简历模板
  11. 别再用QQ的破数字邮箱了,你其实还有注册姓名全拼微软邮箱的机会
  12. visual studio code输入感叹号没有提示
  13. 格兰杰因果关系检验(原理及Python实例)
  14. 电脑上所有文件都打不开的解决方法和过程
  15. 【Unity VFX】VFX特效入门笔记-火花制作
  16. html5 meter样式,css – Chrome中的HTML5 Meter样式
  17. 用户画像数据指标体系之风险控制维度
  18. java adb命令_从Java程序执行ADB命令
  19. Diffusion 扩散模型(DDPM)详解及torch复现
  20. matlab 圆和直线的交点,利用MATLAB检测直线交点的源程序

热门文章

  1. [Linq]Linq To Xml (待整理)
  2. Oracle 游标(cursor) 说明
  3. Torchlight(火炬之光)人物骨骼动画
  4. 我阅读的第一个程序GridView遇到的问题
  5. 解决Flash影片中的图片抖动锯齿
  6. framebuffer 保存 bmp图片格式
  7. preempt_count详解
  8. AB1601读触摸芯片ASC0106的IIC波形图
  9. 操作系统实验4—磁盘调度
  10. 排序 (5)计数排序“概念”