MyISAM和InnoDB的区别

mysql5.5版本后将InnoDB作为默认的存储引擎,之前都是用MyISAM,两种的区别在于以下五点:

1.数据的存储结构不同

  • MyISAM有三个文件:

    • .frm:表结构的定义文件
    • .MYD:数据文件
    • .MYI:索引文件
  • InnoDB有两个文件:
    • .frm文件:存储为表结构文件
    • .ibd:存储的是数据和索引文件
  • 由于MyISAM的数据和索引是分开的,因此在索引查找的时候,MyISAM的叶子节点存储的是数据所在的地址,而不是数据

2.存储空间的消耗不同

  • MyISAM可能会被压缩,存储空间变小,支持三种存储模式,静态表、动态表、压缩表
  • InnoDB需要更多的内存和存储,会在主内存中建立专有的缓冲区,用来去告诉缓冲数据和索引,其所在表都保存在同一个数据文件中,其大小只受限于操作系统的文件大小,一般是2G

3.对事务的支持不同

  • MyISAM注重的是效率,每次查询都具有原子性,执行速度比InnoDB快一些,但不支持事务操作
  • InnoDB支持外键等高级数据库的操作,事务提交,事务回滚,安全性高!

4.对锁的支持不同

  • 如果执行大量的查询,MyISAM更好,在执行增删改的时候,需要锁定整个表,效率更低
  • InnoDB支持行级锁,在删除插入的时候只需要锁定操作行就行

5.对外键的支持不同

  • MyISAM不支持外键
  • InnoDB支持外键

MyISAM和InnoDB的区别相关推荐

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

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

  2. MySQL存储引擎MyISAM和InnoDB的区别

    需要完整版PDF面试文档可扫描左侧二维码拿! 你都工作3年了,怎么还不知道MyISAM和InnoDB有什么区别?一位粉丝被面试官这样一个问题.当时,这位粉丝直接回复"不知道",这位 ...

  3. 【myISAM和innoDB】mySql的引擎myisam和innodb的区别/mysiam(mysql插入速度优化)

    目录 Myisam 和Innodb 特点和擅长 Myisam 和Innodb 数据存储区别 Myisam引擎(非聚集索引--叶子节点存储数据地址的指针) Innodb引擎(聚集索引---叶子节点的da ...

  4. MyISAM 和 InnoDB 的区别

    MyISAM 和 InnoDB 的区别 MySQL 5.5 之前,MyISAM 引擎是 MySQL 的默认存储引擎,可谓是风光一时.虽然,MyISAM 的性能还行,各种特性也还不错(比如全文索引.压缩 ...

  5. mysql and常用引擎_MySQL两大常用存储引擎MyISAM,InnoDB的区别

    本文主要整理了MySQL两大常用的存储引擎MyISAM,InnoDB的六大常见区别,来源于Mysql手册以及互联网的资料 InnoDB与Myisam的六大区别 MyISAM InnoDB 构 成上的区 ...

  6. MySQL中MyISAM 与innoDB的区别(转)

    InnoDB 和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而 InnoDB类型支持.MyISAM类型的表强调 ...

  7. 引擎讲解2--主要是MyISAM和InnoDB的区别

    文章转自:http://menglimengwai.iteye.com/blog/464667 MySQL常用的存储引擎为MyISAM.InnoDB.MEMORY.MERGE,其中InnoDB提供事务 ...

  8. mysql数据库表中的类型_MySQL数据库中表类型MyISAM与InnoDB的区别

    MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...

  9. MYSQL 的静态表和动态表的区别, MYISAM 和 INNODB 的区别

    MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点 ...

最新文章

  1. 自动化才能解放安全团队
  2. MorGain2020中文版
  3. 什么电脑的牌子好用_你觉得电脑好用还是手机好用?为什么?
  4. 爆款专栏《Python 黑科技》目录导航丨进度:12/50
  5. 作业2结对(升级版)
  6. Cesium入门-2-增加地形
  7. KNN分类算法原理与Python+sklearn实现根据身高和体重对体型分类
  8. 持续集成部署Jenkins工作笔记0001---持续集成、持续部署、持续交付的概念
  9. 图解MySQL的各种 JOIN,看完不懂来找我!
  10. php中的数据库操作类、分页类,以及smarty扩展类
  11. 从 LinkedIn 的数据处理机制学习数据架构
  12. TP-Link TD-W89841N 增强型无线路由器快速设置指南
  13. 【EXLIBRIS】#小词旮旯# 005 Pupil
  14. 一文解释Micro-F1, Macro-F1,Weighted-F1
  15. strtoupper php 中文,strtoupper来导致中文乱码么
  16. 《数字语音处理》- 实验4. 基于MATLAB与VQ的特定人孤立词语音识别研究(附代码)
  17. 微电子电路——例题期末总结
  18. BZOJ4706 B君的多边形 (超级卡特兰数/施罗德数)
  19. OWL操盘主图可视化解读
  20. i.MX537多媒体应用处理器简介

热门文章

  1. n个不同元素进栈,求出栈元素不同排列的个数
  2. JavaSwing_3.1: JPanel(面板)
  3. CMMI3和CMMI5的区别
  4. 第四届阿里巴巴性能大赛总结
  5. python元组可以排序吗,关于python:如何对列表/元组进行排序(list/tuple)?
  6. 【托业】【金山词霸】21-42
  7. 如何制作Gif动态图
  8. 空间权重矩阵与相关性检验(Stata)
  9. os.chdir()
  10. java判断单元格是否是日期_Excel单元格,日期/时间返回Int而不是日期/时间字符串...