`
AILIKES
  • 浏览: 186397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql存储引擎myisam,innodb和memory的区别

 
阅读更多
1.myisam,innodb和memory的区别如下:

2:InnoDB存储引擎
2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全
2.2:关于InnoDB的auto_increment列:
2.2.1:InnoDB支持自动增长列,此列不能为空,且值必须唯一
2.2.2:此列必须为主键。插入时,不指定值,默认是自增都的值。指定0或者NULL时,也 是自增后的值。指定合法且不存在的值,则此后的自动从该值开始
2.3:InnoDB中的Foreign Key:
InnoDB支持外键。外键所在表通常称为子表。所依赖表称为父表。且父表中,被子表关联的字段必须为父表的主键。
(外键:可以简单的理解为:当对父表的数据进行更新,删除,添加时,子表的数据也会随之变化。例子很多,此处不举例)
2.4:InnoDB的存储引擎及其优缺点:
InnoDB存储引擎的存储格式有三个文件:
.frm表结构文件,此文件存放表创建时的字段定义等信息。
表的数据文件,存放在innodb_data_home_dir目录下,
表的索引文件,存放在innodb_data_file_path目录下
InnoDB存储引擎具有良好的ACID特性。
InnoDB的缺点:读写效率相对MYISAM比较差。占用的磁盘空间比较大。
2.5:InnoDB的理想使用场合:
高并发,更新操作比较多的表。需要使用事务的表。对自动灾难恢复有要求的表。
3:MYISAM存储引擎:
3.1:MYISAM存储引擎表的存储有三个文件:
.frm文件,存储表的结构
.myd文件,存储表的数据
.myi文件,存储表的索引
3.2:MYISAM存储引擎的存储格式
3.2.1:静态型
表的所有列都是静态的(定长的)。这种情况下,维护和访问预定义格式存储的数据需要的开销很低。但是,需要的空间会更多,原因是,数据在存储的时候,使 用每个列的最大空间来存储,有浪费的空间。当然,磁盘这个都不是问题。
3.2.2:动态型
指标的列中有动态型的列(不定长的)。优点是:使用空间少。缺点是:更新数据时,需要移动数据,产生内部碎片的同时,也降低了维护和访问的效率。
对于这个问题,我们可以:(1)尽量的使用定长字段(2)使用optimize table语句,整理表中的碎片
3.2.3:压缩型:
针对应用程序的声明周期中,只读的数据表,我们可以通过:myisampack工具转化为MYISAM压缩表,以减少使用的磁盘空间
3.4:MYISAM存储引擎的优缺点:
优点:占用空间小,处理速度快(相对InnoDB来说)
确定:不支持事务的完整性和并发性
4:Memory存储引擎
4.1:Memory存储引擎的文件存储形式
Memory存储引擎也会再磁盘上形成一个 .frm的表结构文件,只是表的数据件并不以文件的形式存放在磁盘上。鉴于其数据存放在内存里,因此,访问速度更快。但需 要考虑的是:内存上数据的持久性。
4.2:Memory存储引擎的索引类型
默认的是哈希索引,也支持BTree索引
4.3:Memory存储引擎的数据存储周期
数据存放在内存上,一旦服务器关机,数据将不再存在
4.4:Memory存储引擎的优缺点:
Memory存储引擎不支持变长表列
MySQL4.1.0之前,不支持auto_increment列
4.5:Memory存储引擎的使用场合
速度要求快的,临时数据
丢失以后,对项目整体没有或者负面影响不大的时候。
分享到:
评论

相关推荐

    mysql架构与存储引擎(MySQL逻辑架构、InnoDB引擎、MyISAM引擎、存储引擎选择).docx

    除了InnoDB和MyISAM之外,MySQL还支持多种其他的存储引擎,如Memory、Archive、Federated等,这些引擎各有特色,可以满足不同的业务需求。 #### 四、存储引擎选择 选择合适的存储引擎对于保证数据库性能和稳定性至...

    mysql存储引擎介绍

    除了 MyISAM 和 InnoDB 之外,MySQL 还提供了其他几个存储引擎,如 MEMORY、MERGE 等。 MEMORY 存储引擎是一种基于内存的存储引擎,数据存储在内存中,访问速度非常快,但是数据不是持久性的,服务器重启后数据将会...

    myisam和innodb的区别

    ### MySQL存储引擎详解:MyISAM与InnoDB的主要区别 #### 一、概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了多种存储引擎供用户根据不同的应用场景选择。其中最常用的两种存储引擎分别是MyISAM和...

    MySQL存储引擎简介

    如MEMORY存储引擎适合用于创建临时表,MERGE存储引擎适用于多个MyISAM表合并成为一个表,NDB存储引擎则适用于构建分布式数据库。 在未来的版本中,MySQL持续优化其存储引擎的特性,开发者需要关注新的特性更新,...

    MySQL数据库:MySQL存储引擎.pptx

    MySQL 5.7支持的存储引擎有:InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV和BLACKHOLE等。 可以利用语句:show engines; 查看系统所支持的引擎类型。;1.InnoDB存储引擎 InnoDB是事务型数据库的首选引擎...

    mysql-存储引擎-实验四.docx

    在实验中,我们使用 MySQL 8.0 查看了支持的存储引擎,包括 InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、EXAMPLE、FEDERATED、Archive、Merge 等。不同的存储引擎有不同的特点和使用场景,在选择存储引擎时需要根据...

    MySQL存储引擎简介及MyISAM和InnoDB的区别

    Memory引擎将所有数据保留在内存中,适用于快速访问的小型临时表,Merge引擎允许组合多个MyISAM表,Federated引擎实现了跨服务器的数据集成,Archive引擎用于存储大量历史数据,Cluster/NDB则是一个集群式存储引擎,...

    03-MySQL逻辑架构和Innodb存储引擎1

    7. **存储引擎组件**:存储引擎是MySQL的核心,负责实际的数据存储和检索,如InnoDB和MyISAM。 【InnoDB存储引擎】 InnoDB是MySQL中最常用的存储引擎,尤其在支持事务处理的场景下。它具备以下特性: 1. **事务...

    MySQL存储引擎学习

    MEMORY存储引擎是基于内存的存储引擎,具有非常高的读写速度,但是在断电或服务器崩溃时,所有数据将会丢失。MERGE存储引擎可以将多个MyISAM表合并成一个表,提供了更好的查询性能。 NDB存储引擎是集群存储引擎,...

    MySQL innodb 技术内幕

    MySQL 提供了多种存储引擎,包括 InnoDB、MyISAM、NDB、MEMORY、Archive、Federated 等。每种存储引擎都有其特点和优缺点。 ### 1.3.1 InnoDB 存储引擎 InnoDB 存储引擎是 MySQL 的默认存储引擎,它支持外键、...

    MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    在本篇文章中,我们将重点关注如何在MySQL中为数据表设置存储引擎MyISAM和InnoDB的操作方法,并分析它们之间的区别。 首先,MySQL中的存储引擎可以理解为表的后端存储和检索机制,它们决定了如何存储表中的数据以及...

    MySql教程-数据库存储引擎.pdf

    MEMORY存储引擎使用系统内存来存储数据,能够提供高性能的数据访问速度。MEMORY存储引擎特别适合: * 需要高性能的数据访问场景 * 临时数据存储 在选择存储引擎时,需要考虑到应用场景和性能要求。在不同的应用...

    Mysql InnoDB和MyISAM区别原理解析

    mysql支持很多表类型的表(即存储引擎),如myisam、innodb、memory、archive、example等。每种存储引擎都有自己的优点和缺点,充分的理解每种存储引擎,有助于合理的使用它们。有人认为在同一个数据库中使用多种...

    MySql中启用InnoDB数据引擎的方法.docx

    MySQL默认配置了多种存储引擎,例如MyISAM、InnoDB、BDB、Memory、Merge、Archive、Federated、Cluster/NDB以及一些其他特殊引擎如CSV和Blackhole。每个引擎都有其适用的场景,例如MyISAM适合读取密集型应用,而...

    第6章MySQL存储引擎与数据库.docx

    MySQL存储引擎是数据库管理系统的核心组件,它决定了数据如何在MySQL中存储、检索和管理。不同的存储引擎具有不同的特性和用途,以适应各种应用场景。在MySQL中,存储引擎主要负责数据的物理存储方式、事务处理、...

    MySQL课程之MySQL存储引擎入门

    MySQL提供了多种存储引擎,包括MyISAM、InnoDB、BDB、Memory、Merge、Archive、Federated、BLACKHOLE、Cluster/NDB、CSV和Example等。其中,InnoDB、NDB和BDB支持事务处理,提供了一定的数据一致性保障,而其他引擎...

    mysql-存储引擎和数据库对象实验五.docx

    本实验报告主要介绍 MySQL 中的存储引擎和数据库对象,涵盖了 MEMORY 存储引擎、MERGE 存储引擎、CHAR、VARCHAR、TEXT、BLOB 等类型的使用和特点,以及浮点数、定点数、日期类型的使用和设置规则。 一、MEMORY 存储...

    Mysql InnoDB引擎的索引与存储结构详解

    MySQL默认的存储引擎是MyISAM,其他常用的就是InnoDB,另外还有MERGE、MEMORY(HEAP)等。 主要的几个存储引擎 MyISAM管理非事务表,提供高速存储和检索,以及全文搜索能力。 MyISAM是Mysql的默认存储引擎。当create...

    深入解析:MySQL存储引擎的奥秘

    1. **InnoDB**:MySQL的默认存储引擎,支持事务处理、行级锁定和外键约束。适用于需要高并发和数据一致性的场景。 2. **MyISAM**:一种较早的存储引擎,读写速度快但不支持事务处理。适合于读密集型的应用场景。 3. ...

Global site tag (gtag.js) - Google Analytics