mysql-MyISAM存储引擎
MyISAM介绍:
其优势是访问的速度快,对事务的完整性没有要求或者以SELECT、INSERT为主的应用基本上都可以使用这个引擎来创建表 。
1.不支持行锁(MyISAM只有表锁),读取时对需要读到的所有表加锁,写入时则对表加排他锁;
2.不支持事务
3.不支持外键
4.不支持崩溃后的安全恢复
5.在表有读取查询的同时,支持往表中插入新纪录
6.支持BLOB和TEXT的前500个字符索引,支持全文索引
7.支持延迟更新索引,极大地提升了写入性能
8.对于不会进行修改的表,支持 压缩表 ,极大地减少了磁盘空间的占用
使用:事物的完整性不做要求,容忍少量和极小部分的数据丢失
文件存储方式
每个MyISAM在磁盘上存储成3个文件,其文件名都和表名相同,但拓展名分别是 :
.frm (存储表接收);
.MYD(MYData , 存储数据);
.MYI(MYIndex , 存储索引);
Memory介绍:
存储引擎将表的数据存放在内存中。·
每个MEMORY表实际对应一个磁盘文件,
格式是.frm ,该文件中只存储表的结构,
而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。
MEMORY 类型的表访问非常地快,
因为他的数据是存放在内存中的,并且默认使用HASH索引 , 但是服务一旦关闭,表中的数据就会丢失。
MERGE介绍:
MERGE存储引擎是一组MyISAM表的组合,
这些MyISAM表必须结构完全相同,
MERGE表本身并没有存储数据,
对MERGE类型的表可以进行查询、更新、删除操作,这些操作实际上是对内部的MyISAM表进行的。
对于MERGE类型表的插入操作,是通过INSERT_METHOD子句定义插入的表,
可以有3个不同的值,使用FIRST 或 LAST 值使得插入操作被相应地作用在第一或者最后一个表上,
不定义这个子句或者定义为NO,表示不能对这个MERGE表执行插入操作。
可以对MERGE表进行DROP操作,但是这个操作只是删除MERGE表的定义,对内部的表是没有任何影响的。
存储引擎的选择
在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。以下是几种常用的存储引擎的使用环境。
- InnoDB :*(安全性比较高,一致性)
- 是Mysql的默认存储引擎,用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询意外,还包含很多的更新、删除操作,那么InnoDB存储引擎是比较合适的选择。InnoDB存储引擎除了有效的降低由于删除和更新导致的锁定, 还可以确保事务的完整提交和回滚,对于类似于计费系统或者财务系统等对数据准确性要求比较高的系统,InnoDB是最合适的选择。
- MyISAM :(读取和插入的速度比较快,数据的一致性不高)
- 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不是很高,那么选择这个存储引擎是非常合适的。
- MEMORY:(存放在内存当中)
- 将所有数据保存在RAM中,在需要快速定位记录和其他类似数据环境下,可以提供几块的访问。MEMORY的缺陷就是对表的大小有限制,太大的表无法缓存在内存中,其次是要确保表的数据可以恢复,数据库异常终止后表中的数据是可以恢复的。MEMORY表通常用于更新不太频繁的小表,用以快速得到访问结果。
- MERGE:(分布式数据存储)
- 用于将一系列等同的MyISAM表以逻辑方式组合在一起,并作为一个对象引用他们。MERGE表的优点在于可以突破对单个MyISAM表的大小限制,并且通过将不同的表分布在多个磁盘上,可以有效的改善MERGE表的访问效率。这对于存储诸如数据仓储等VLDB环境十分合适。
mysql-MyISAM存储引擎相关推荐
- mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败
mysql myisam存储引擎不能添加外键,添加后显示成功,实则失败. 添加显示成功后,可以轻松删除父表.
- mysql myisam存储引擎_MySQL浅谈MyISAM存储引擎
本文来源于:IT摆渡网---一个IT实时问答系统快速解决你的任何IT问题,无需等待! mysql中用的最多存储引擎就是innodb和myisam.做为Mysql的默认存储引擎,myisam值得我们学习 ...
- mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点...
概述 mysql数据库存储引擎为MyISAM的时候,在大访问量的情况下数据表有可能会出现被锁的情况,这就会导致用户连接网站时超时而返回502,此时就需要MySQL数据库MyISAM存储引擎转为Inno ...
- MySQL常用存储引擎之MyISAM
我们先来看看MYISAM这种存储引擎,MYISAM存储引擎呢,是MYSQL5.5以及之前的版本,在MYSQL数据库默认的存储引擎,由于这个原因呢,现在还有大量的服务器使用MYISAM的表,另外MyIS ...
- MySQL学习笔记(二):MyISAM 存储引擎
MyISAM 存储引擎 MyISAM 基于旧的 (不再可用) ISAM 存储引擎, 但有许多有用的扩展. 每个 MyISAM 表都存储在三个文件中的磁盘上.这些文件具有以表名开头的名称, 并具有用于指 ...
- MyISAM 存储引擎(mysql 8.0)
MyISAM基于旧的(不再可用的)ISAM存储引擎,但有许多有用的扩展. 表 16.2 MyISAM 存储引擎特性 特征 支持 B树索引 是的 备份/时间点恢复(在服务器中实现,而不是在存储引擎中.) ...
- 「MySQL 数据库 存储引擎」InnoDB和MyIsAm的区别
我们应该深刻意识到Mysql数据库的核心为存储引擎 MySql数据库的插件型体系结构,可以使用不同的存储引擎-- 而每个存储引擎都有各自的特点,开发人员可以根据不同的业务和应用建立不同的存储引擎表. ...
- MySQL的存储引擎(InnoDB与MyISAM)
1.MyISAM底层存储(非聚集索引方式)与InnoDB底层存储(聚集索引方式) 1.1MyISAM底层存储(非聚集索引方式) Myisam 创建表后生成的文件有三个: frm:创建表的语句 MYD: ...
- mysql myisam_MySQL存储引擎之MyISAM
MyISAM为MySQL5.5之前版本默认存储引擎.一般的临时表和系统表都是MyISAM.这里的临时表是指:在排序,分组等操作中,当数量超过一定的大小之后,由查询优化器建立的临时表. MyISAM存储 ...
- mysql的存储引擎详解_Mysql存储引擎详解
存储引擎的介绍 关系型数据库表是用来存储和组织信息的数据结构,可以将表理解为由行和列组成的表格. 由于表的类型不同,我们在实际开发过程中,就有可能需要各种各样的表,不同的表就意味着存储不同类型的数据, ...
最新文章
- Python的5种传参姿势,两分钟就能了解
- C#中的数据类型转换
- spring 源码分析之BeanPostProcessor
- 网络Socket,ServerSocket
- android编程多组件布局,Android把多个控件定义成一个整体的布局类使用
- oracle中locate,Oracle定位不知源头的SQL
- linux was8.5 配db2数据源配置,DataStage v8.5对于db2 v8数据库的支持问题
- 安装oracle12c之前,centos7安装oracle12c数据库的坑
- 知识图谱构建流程及算法
- swf文件转mp4视频格式的失败与成功
- refresh( )
- Git正解 脱水版 【8. 定制Git】
- 【自学Flutter】3.2 图片的填充样式
- Restful API 接口规范
- CH341a烧录器烧录华硕BIOS
- 直播间炒不起氛围?观众迟迟不下单?千万别忽略了助播的重要性!
- 电脑软件没运行,内存爆满可以这样解决
- 【枚举 + 求最大公约数方法】最大公约数等于K的子数组数目问题
- 数据库原理之数据库安全性(详细知识点)
- 小兔兔系列语言故事5(之所谓的朋友5)