MySQL常用的存储引擎之MyISAM
![](https://img.haomeiwen.com/i15454479/bd810e83fa56bf35.png)
myisam是大多数系统表和临时表使用的存储引擎
这里的临时表不是平常所说的那个临时表
![](https://img.haomeiwen.com/i15454479/351371042dab7fbe.png)
MyIsam存储引擎表由MYD和MYI组成
MYD指的是数据文件,MYI指的是索引文件,这个表下还会生成一个表结构文件
MyISAM存储引擎的特性
并发和锁级别
MyISAM支持的是表级锁,并发性并不是特别好
表损坏修复
MYISAM并不支持事务,所以对日志的读取和恢复效果不是特别好
可以通过 check table tablename和repair table tablename来进行回复
MyISAM表支持的索引类型
![](https://img.haomeiwen.com/i15454479/6a96614bf89bf473.png)
MyISAM表支持数据压缩
命令行myisampack命令
对于已经压缩的表只能进行读操作
MyISAM存储引擎的限制
在mysql5.0是默认表大小为4G,如果要存储大表则要修改MAX_Rows和AVG_ROW_LENGTH,在>MySQL>5.0的版本时默认支持为256TB
MyISAM存储引擎适用的场景
非事务性应用
对于只读类应用很不错
空间类应用(如GPS)
MySQL常用的存储引擎之Innodb
MySQL5.0及之后版本的默认存储引擎
Innodb使用表空间进行数据存储
系统表空间无法收缩文件大小
系统表空间会产生IO瓶颈
独立表空间可以收缩文件大小
独立表空间可以同时向多个文件刷新数据
建议:对Innodb使用独立表空间
表的转移步骤
![](https://img.haomeiwen.com/i15454479/6f83847c0c410a4c.png)
Mysql常用存储引擎之CSV
文件系统的存储特点
数据以文本方式存储在文件中
.csv文件存储表内容
.csm文件存储表的元数据如表状态和数据量
.frm文件存储表结构信息 (所有的引擎下的表都有这个文件)
特点
以CSV格式进行数据存储
所有列必须都是不能为null的(简单理解就是创建表的时候列属性 的默认值需要为not null)
不支持索引
不适合大表,不适合在线处理
对数据文件直接编辑(类似MyIsam和Innodb使用的都是二进制文件对数据进行保存的)
CSV是以文本文件内容进行保存的
使用场景
![](https://img.haomeiwen.com/i15454479/5802931a987c35d0.png)
Mysql常用引擎值Archive
文件系统的存储特点
以zlib对表数据进行压缩,磁盘I/O更少
数据存储在ARZ为后缀的文件中
功能特点
支持行级锁和缓冲区(所以可以实现高并发的插入)本身并不是一种是事务性的存储引擎
只支持insert和select操作
只允许在自增ID列上加索引
使用场景
日志和数据采集类应用
Mysql常用引擎值Memory
文件系统的存储特点
也称为HEAP存储引擎,数据存储在内存当中(在宕机的情况下数据会丢失,但是表的结构会保留下来,表的结构是保留在磁盘当中的)
功能特点
支持HASH索引(默认,无法做范围索引)和BTree索引
等值查找 HASH 范围查找BTree
所有字段都是为固定字段varchar(10)=char(10)
不支持BLOG和TEXT等大字段
Menory存储引擎使用表级锁
最大大小由max_heap_table_size参数决定
对已经存在的表修改这个参数是无效的,如果需要对已经存在的表修改这个参数的话需要对表进行重建
容易混淆的概念
Memory存储引擎表和临时表(岁所有的线程都是有效的)
临时表(只对当前的session有效)
1.系统临时使用的表
限制以内使用Memory表
超过限制使用MyIsam表
2.create temporary table建立的临时表
使用场景 (Memory数据已丢失,所以要求数据可再生)
用于查找或是映射表,例如右边 和地区的对应表
用于保存数据分析中产生的中间表
用于缓存周期性聚合数据的结果表
Mysql常用引擎值Federated(默认是禁止的)
如何使用
默认禁止,启用需要在启动时增加federated参数
![](https://img.haomeiwen.com/i15454479/3fedad1cfba03e7e.png)
功能特点
提供了访问远程MySQL服务器上表的方法
本地不存储数据,数据全部放到远程服务器上
本地需要保存表结构和远程服务器的连接信息
使用场景
偶尔的统计分析及手工查询
如何选择正确的存储引擎
参照条件
事务
备份
崩溃恢复
存储引擎的特有特性
网友评论