为什么80%的码农都做不了架构师?>>>   

1. 事务处理

innodb 支持事务功能,myisam 不支持。
Myisam 的执行速度更快,性能更好。

2. select ,update ,insert ,delete 操作

MyISAM:如果执行大量的SELECT,MyISAM是更好的选择
InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表

3. 锁机制不同

InnoDB 为行级锁,myisam 为表级锁。

注意:当数据库无法确定,所找的行时,也会变为锁定整个表。
如: update table set num = 10 where username like "%test%";

4. 查询表的行数不同

MyISAM:select count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含   where条件时,两种表的操作是一样的
InnoDB : InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行

5. 物理结构不同

MyISAM :每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。
.frm文件存储表定义。
数据文件的扩展名为.MYD (MYData)。
索引文件的扩展名是.MYI (MYIndex)

InnoDB:基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB

6. anto_increment 机制不同

更好和更快的auto_increment处理

其他:为什么MyISAM会比Innodb 的查询速度快。

INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多;
1)数据块,INNODB要缓存,MYISAM只缓存索引块,  这中间还有换进换出的减少; 
2)innodb寻址要映射到块,再到行,MYISAM 记录的直接是文件的OFFSET,定位比INNODB要快
3)INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护

转载于:https://my.oschina.net/hosee/blog/600431

Mysql存储引擎中InnoDB与Myisam的区别相关推荐

  1. mysql存储引擎中INNODB和MyISAM的区别

    切记:存储引擎是基于表的,而不是数据库. 存储引擎概念: MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不 ...

  2. Mysql 存储引擎中InnoDB与Myisam的主要区别

    一直以为我spring事物没有配置好,结果发现是mysql的表本身设置成了Myisam 引擎.改成innodb就支持事物了. 1, 事务处理 innodb 支持事务功能,myisam 不支持. Myi ...

  3. 「MySQL 数据库 存储引擎」InnoDB和MyIsAm的区别

    我们应该深刻意识到Mysql数据库的核心为存储引擎 MySql数据库的插件型体系结构,可以使用不同的存储引擎-- 而每个存储引擎都有各自的特点,开发人员可以根据不同的业务和应用建立不同的存储引擎表. ...

  4. MySQL 存储引擎(InnoDB、MyISAM、MEMORY)

    一.MySQL的体系结构 1.连接层:最上层是一些客户端和链接服务,主要完成一些类似于连接处理.授权认证.及相关的安全方案.服务器也会为安全接入的每个客户端验证它所具有的操作权限. 2.服务层:第二成 ...

  5. 浅谈MySQL存储引擎选择 InnoDB还是MyISAM

    如果是一些小型的应用或项目,那么MyISAM 也许会更适合.当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的.如果你正在计划使用一个超大数据量的项目,那么你应该直接使用In ...

  6. MySQL存储引擎中MyISAM和InnoDB区别

    转载自  MySQL存储引擎中MyISAM和InnoDB区别 MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应 ...

  7. MySQL存储引擎(InnoDB引擎)

    本篇章主要介绍什么是 MySQL 存储引擎?常用的 MySQL 存储引擎有哪些?以及详细介绍一下目前应用最广泛的 InnoDB 存储引擎,包括其:逻辑存储结构.架构.事务原理.MVCC等. 一.初识  ...

  8. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的"存储引擎"(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引 ...

  9. mysql 内存引擎_MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的"存储引擎"(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引 ...

最新文章

  1. dedecms织梦专题节点列表内容怎么实现分页
  2. lnmp里面php测试脚本,军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验
  3. HTML5的Canvas画图模拟太阳系运转
  4. ASP.NET Core on K8s学习之旅(14)Ingress灰度发布
  5. 中缀表达式到前缀表达式和后缀表达式
  6. Android开源框架Universal-Image-Loader完全解析(三)
  7. 4999以内阿拉伯数字转罗马字符
  8. 谁之过?盘点2015年上半年IT宕机事件
  9. Counterfit 部署教程
  10. unity 制作拼图游戏
  11. 教你快速批量查询顺丰快递物流的两种方法
  12. TDA4VM中各个CPU对应的名字
  13. Oracle分页查询存储过程(适用于单表查询)
  14. python 横坐标只显示部分数据,Python使用matplotlib在x轴上显示特定值
  15. Apache的winnt_accept: Asynchronous AcceptEx failed问题
  16. 服务器系统检测工具,服务器运行监测工具
  17. 单指标时间序列异常检测——基于重构概率的变分自编码(VAE)代码实现(详细解释)
  18. 抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)
  19. 数据库高级(校招冲刺必备)
  20. Intel SIMD: AVX2

热门文章

  1. Xcode的Architectures和Valid Architectures的区别
  2. linux版车机安装步骤,RedHat Linux 9.0的安装(详细图解安装过程)
  3. 数学建模2 数据预处理
  4. MSYS2 + MinGW-w64 + Git + gVim 环境配置
  5. 中国消费者为何不愿为App付费?
  6. 项目经理如何把工作简单化
  7. Docker 环境下如何 安装 Zookeeper
  8. Column count doesn't match value count at row 1 原因
  9. MVC表示层框架——Velocity技术
  10. 《学习R》笔记:科学计算器、检查变量和工作区、向量、矩阵和数组、列表和数据框...