InnoDB与MyISAM等存储引擎对比

https://blog.ouyangsihai.cn/innodb-yu-myisam-deng-cun-chu-yin-qing-dui-bi.html

InnoDB存储引擎介绍

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

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

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

MyISAM储存引擎介绍

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

存储引擎之间的对比

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

特性对比

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

存储引擎特性介绍

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

来源: 欧阳思海
作者: 欧阳思海
链接: https://blog.ouyangsihai.cn/innodb-yu-myisam-deng-cun-chu-yin-qing-dui-bi.html
本文章著作权归作者所有,任何形式的转载都请注明出处。

[转帖]InnoDB与MyISAM等存储引擎对比的更多相关文章

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

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

  2. MySQL中MyISAM和InnoDB两种主流存储引擎的特点

    一.数据库引擎(Engines)的概念 MySQ5.6L的架构图: MySQL的存储引擎全称为(Pluggable Storage Engines)插件式存储引擎.MySQL的所有逻辑概念,包括SQL ...

  3. MySQL存储引擎对比

    MySQL存储引擎对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的存储引擎 大家应该知道MySQL的存储引擎应该是表级别的概念,因为我们无法再创建databas ...

  4. mysql学习--MySQL存储引擎对比总结

    一.存储引擎是什么 存储引擎是数据库的核心,对于mysql来说,存储引擎是以插件的形式运行的.MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用.你可以选择适用于服务器. ...

  5. MySQL三种InnoDB、MyISAM和MEMORY存储引擎对比

    什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能 ...

  6. mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查

    一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database  table  -c  #检查单 ...

  7. 【Todo】InnoDB、MyISAM、数据库引擎

    关于InnoDB和MyISAM引擎的对比,下面这篇讲的挺好 http://www.cnblogs.com/vicenteforever/articles/1613119.html 这一篇关于InnoD ...

  8. MYSQL事务及存储引擎对比

    Innodb支持事务,而myisam不支持事务. 事务的定义: 当多个用户访问同一份数据时,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为保证数据的更新从一个一致性状态变更为另一个一致性 ...

  9. MySQL各种存储引擎对比总结

    1.MyISAM 是MySQL5.5版之前默认的存储引擎,特点:数据文件和索引文件可以放置在不同的目录,平局分布IO,获得更快的速度.不支持事务,不支持外键. 2.InnoDB 是 MySQL5.5版 ...

随机推荐

  1. Python socket 通信功能简介

    常用的地址家族AF_UNIX:基于文件,实现同一主机不同进程之间的通信AF_INET:基于网络,适用于IPv4AF_INET6:基于网络,使用于IPv6 常见的连接类型SOCK_STREAM:即TCP ...

  2. comobox在datagrid里,当滚动scrollbar时,会导致comobox选中项被重置的解决办法

    VirtualizingStackPanel.IsVirtualizing="False"

  3. vmware exsi安装部署

    本文章参考:https://blog.csdn.net/fishinhouse/article/details/80980051 1.VMware-ESXi-6.5.0镜像下载 网盘链接:https: ...

  4. OpenFOAM制作动画

    原视频下载地址:https://yunpan.cn/cMpfh9cCjKnZI(提取码:823b)

  5. 【转】Linux 利用 PROMPT_COMMAND 实现审计功能

    linux历史命令记录在history,在用户退出的时候写入,不过有时候可以直接绕过去,不让写入,比如shutdown now,还有在一些情况下也是不予保存的,这让人很头疼 使用PROMPT_COMM ...

  6. 为 Raft 引入 leader lease 机制解决集群脑裂时的 stale read 问题

    问题:当 raft group 发生脑裂的情况下,老的 raft leader 可能在一段时间内并不知道新的 leader 已经被选举出来,这时候客户端在老的 leader 上可能会读取出陈旧的数据( ...

  7. 第07组 Alpha冲刺(1/6)

    队长:杨明哲 组长博客:求戳 作业博客:求再戳 队长:杨明哲 过去两天完成了哪些任务 文字/口头描述:完成了,网页后端的大部分工作.负责了很大一部分的后端工作. 展示GitHub当日代码/文档签入记录 ...

  8. 从库延迟增大,MySQL日志出现InnoDB: page_cleaner: 1000ms intended loop took 17915ms.

    今天同事负责的数据库从库出现从库延迟增大,MySQL日志InnoDB: page_cleaner: 1000ms intended loop took 17915ms. 了解原因,keepalived ...

  9. MySQL TiDB PingCAP mydumper

    MySQL备份之[mydumper 学习] - jyzhou - 博客园https://www.cnblogs.com/zhoujinyi/p/3423641.html maxbube/mydumpe ...

  10. 【E2E】Intel AI DevCloud 的申请和登陆

    参考:https://www.cnblogs.com/WaitingForU/p/9091096.html 一.注册 https://www.cnblogs.com/WaitingForU/p/909 ...