一.mysql中myisam,innodb和memory三个存储引擎的区别

1、区别:
1) MyISAM管理非事务表。提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,是默认的存储引擎,除非配置MySQL默认使用另外一个引擎。

2)MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。
注释:MEMORY存储引擎正式地被确定为HEAP引擎。

3)InnoDB和存储引擎提供事务安全表,默认被包括在所 有MySQL 5.1二进制分发版里,可以按照喜好通过配置MySQL来允许或禁止任一引擎。

2、功能点简介
1)MyISAM存储引擎
MyISAM存储引擎不支持事务,不支持行级锁,只支持并发插入的表锁,主要用于高负载的select。
myisam类型的表支持三种不同的存储结构:静态型、动态型、压缩型。

(1)静态型:就是定义的表列的大小是固定(即不含有:xblob、xtext、varchar等长度可变的数据类型),这样mysql就会自动使用静态myisam格式。

使用静态格式的表的性能比较高,因为在维护和访问的时候以预定格式存储数据时需要的开销很低。但是这高性能是有空间换来的,因为在定义的时候是固定的,所以不管列中的值有多大,都会以最大值为准,占据了整个空间。

(2)动态型:如果列(即使只有一列)定义为动态的(xblob, xtext, varchar等数据类型),这时myisam就自动使用动态型,虽然动态型的表占用了比静态型表较少的空间,但带来了性能的降低,因为如果某个字段的内容发生改变则其位置很可能需要移动,这样就会导致碎片的产生。随着数据变化的怎多,碎片就会增加,数据访问性能就会相应的降低。

(3)压缩型:如果在这个数据库中创建的是在整个生命周期内只读的表,则这种情况就是用myisam的压缩型表来减少空间的占用。

2)MEMORY存储引擎:
(1)memory存储引擎相比前面的一些存储引擎,有点不一样,其使用存储在内从中的数据来创建表,而且所有的数据也都存储在内存中。

(2)每个基于memory存储引擎的表实际对应一个磁盘文件,该文件的文件名和表名是相同的,类型为.frm。该文件只存储表的结构,而其数据文件,都是存储在内存中,这样有利于对数据的快速处理,提高整个表的处理能力。

(3)memory存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,如果读者希望使用B树型,则在创建的时候可以引用。

(4)memory存储引擎文件数据都存储在内存中,如果mysqld进程发生异常,重启或关闭机器这些数据都会消失。所以memory存储引擎中的表的生命周期很短,一般只使用一次。

3)innoDB存储引擎:

(1) innodb存储引擎该mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。

(2)innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值。

(3)innodb存储引擎支持外键(foreign key) ,外键所在的表称为子表而所依赖的表称为父表。

(4)innodb存储引擎最重要的是支持事务,以及事务相关联功能。

(5)innodb存储引擎支持mvcc的行级锁。

----------

1.myisam,innodb和memory的区别如下:

InnoDB存储引擎
InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全

关于InnoDB的auto_increment列:

InnoDB支持自动增长列,此列不能为空,且值必须唯一

此列必须为主键。插入时,不指定值,默认是自增都的值。指定0或者NULL时,也是自增后的值。指定合法且不存在的值,则此后的自动从该值开始

MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。

·InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。

Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

mysql存储引擎的区别相关推荐

  1. dataframe在特定列 插入_从插入看mysql存储引擎的区别

    一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 1.如果表的类型是MyISAM ...

  2. mysql存储引擎的区别_Mysql的两种存储引擎以及区别

    一.Mysql的两种存储引擎 1.MyISAM: ①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性.一致性.隔离性.持久性) ②不支持外键,支持表锁,每次所住的是整张表 MyISAM的表 ...

  3. MySQL存储引擎的区别与比较

    存储引擎,即表类型(table_type) 用户可以根据应用的需求选择如何来存储数据.索引.是否使用事务等.选择合适的存储引擎往往能够有效的提高数据库的性能和数据的访问效率,另外一个数据库中的多个表可 ...

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

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

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

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

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

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

  7. Mysql底层剖析——各存储引擎的区别

    文章目录 一.InnoDB存储引擎 二. MyISAM存储引擎 三.InnoDB存储引擎与MyISAM存储引擎的区别 四.如何选择数据库引擎 四.其他引擎 五.转换表的引擎的方法 一.InnoDB存储 ...

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

    文章目录 前言 一.MySQL 引擎 二.MyISAM和InnoDB特点 三.InnoDB和MyISAM的区别 总结 前言 面试经常会问到MySQL存储引擎的相关内容.常见的MySQL存储引擎有MyI ...

  9. mysql存储引擎InnoDB与MyISAM的区别

    mysql存储引擎InnoDB与MyISAM的区别 众所周知,mysql之前的存储引擎是MyISAM,在5.6版本之后默认的存储引擎是InnoDB,那么两个存储引擎有什么区别? 一.MyISAM 存储 ...

最新文章

  1. Compiere去掉启动时的下面显示的进度条
  2. python发送文件到邮箱_python发送文件夹内容到邮箱
  3. cannot use throw with exceptions disabled
  4. Can't get attribute '_rebuild_tensor_v2' on module 'torch._utils'
  5. 洛谷 P3384 【模板】树链剖分-树链剖分(点权)(路径节点更新、路径求和、子树节点更新、子树求和)模板-备注结合一下以前写的题目,懒得写很详细的注释...
  6. python运行界面英文翻译_python使用百度api翻译中英文
  7. Python运算符和编码
  8. mysql如何查询某条记录在分页的第几页_分页插件的使用
  9. python 模拟浏览器selenium_使用Selenium模拟浏览器,实现自动爬取数据
  10. elasticsearch入门(三)
  11. 嵌入式linux交叉开发环境,构建嵌入式Linux交叉开发环境
  12. 贴吧签到php,贴吧自动签到 – 前端开发,JQUERY特效,全栈开发,vue开发
  13. Linux 自动挂载U盘 实现热插拔
  14. You need to prove you’re evil cheap nike air max
  15. [译]尤雨溪: Ref语法糖提案
  16. 天钰原装FP6606ACAP6芯片,仅5V至20V VBUS电源,过电压保护
  17. charles windows 和苹果手机进行连接抓包
  18. 内存的分类以及各自特征
  19. java编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。定义乐器类Instrument,包括方法makeSound() 。定义乐器类的子类
  20. 数据结构物理存储方式

热门文章

  1. 骷髅(skeleton)
  2. 使用RDM将redis的数据导出
  3. 元数据(menta data)
  4. FontBook for Mac(字体管理软件)
  5. CTF 每日一题 Day17 信息化时代的步伐
  6. java获取CPU温度centos,CentOS终端下查看CPU温度
  7. MATLAB转移矩阵法仿真,利用转移矩阵和MATLAB求解一维薛定谔方程的一种简捷方法...
  8. 【蒲公英学术】内容包含:冰湖灾害监测评价、国土空间、生态系统服务评估、VSD模型、机器学习
  9. 波特“钻石”模型理论的基本内容
  10. 盗版猖獗、开发难……VR游戏进阶之路“道阻且长”