MySQL存储引擎 MyISAM 介绍

栏目: 数据库 · 发布时间: 7年前

内容简介:MyISAM是mysql 默认存储引擎,它不支持事务,外键。但访问速度快,对事务完整性没有要求或者以select,insert 为主的应用基本上都可以使用这个引擎。每个MyISAM在磁盘上存储成3个文件,文件名都和表名相同,扩展分别是:数据文件和索引文件可以放置在不同的目录,平均分布IO,获取更快速度。

MyISAM是 mysql 默认存储引擎,它不支持事务,外键。但访问速度快,对事务完整性没有要求或者以select,insert 为主的应用基本上都可以使用这个引擎。

每个MyISAM在磁盘上存储成3个文件,文件名都和表名相同,扩展分别是:

  • frm(存储表定义)
  • MYD(MYdata 存储数据)
  • MYI( MYIndex 存储索引)

数据文件和索引文件可以放置在不同的目录,平均分布IO,获取更快速度。

1.  指定索引文件和数据文件的路径

在创建表的时候通过data directory和 index directory语句指定, 也就是不同MyISAM表的索引文件和数据文件可以放置到不同的路径下,文件路径需要是绝对路径,并且有访问权限

--  默认存储路径

SELECT @@datadir;

MySQL存储引擎 MyISAM 介绍

--  首先要创建/ibddir目录,有5.6才支持单表指定目录

CREATE TABLE test_dir_table(

strative_id VARCHAR(16)  NOT NULL,

date_id VARCHAR(8) NOT NULL

PRIMARY KEY (strative_id)

) ENGINE=MYISAM DATA DIRECTORY = '/ibddir' INDEX DIRECTORY= '/ibddir';

2. 检查表的健康状态

表可能会损坏,原因多种多样,check table对MYISAM和InnoDB表都有作用,如检查有异常使用(repair table表名;)来修复。

语法:

CHECK TABLE tbl_name[,tbl_name] ... [option] ...

option= {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}

CHECK TABLE ai;

MySQL存储引擎 MyISAM 介绍

3. MYISAM表3种不同的存储格式

3.1 静态(固定长度)表, 动态表, 压缩表。 其中静态表是默认的存储格式,字段都是非变长字段,每个记录都是固定长度。这种存储方式的优点是存储非常迅速,容易缓存,出现故障容易恢复,缺点是空间占用多,存储时会按照宽度定义补足空格,但应用访问时并不会得到这些空格。

但有个注意是: 如果保存的内容后面本来就带有空格,在应用访问时也会被自动去掉,从而丢失了尾部空格 。

CREATE TABLE Myisam_char (NAME CHAR(10)) ENGINE=MYISAM;

INSERT INTO Myisam_char VALUES('abcde'),('abcde  '),('  abcde'),('  abcde  ');

SELECT NAME,LENGTH(NAME) FROM Myisam_char;

从下面的输出看出,前面空格保留了。

MySQL存储引擎 MyISAM 介绍

3.2 动态表中包含变长字段,记录不是固定长度的,优势是占用的空间相对比较小,但频繁的更新删除记录会产生碎片,需要定期optimize table或myisamchk -r命令,出现故障时恢复相对比较困难。

3.3 压缩表由myisampack 工具创建,占据非常小的磁盘空间,每个记录是被单独压缩的。

4.最后在回顾下myisam支持的特性

存储限制:  “有”, 官方是256TB

锁机制 :  "表锁"  适用于并发性低的场景

B树索引  : "支持"

全文索引 :"支持"

索引缓存 :"支持"

数据压缩 :"支持"

空间使用 :"低" 默认是静态存储空格

内存使用 :"低" 因为不支持数据缓存

批理插入的速度:  "高" 因为不支持支持事务,不需要写入日志文件

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-09/154351.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

HTML5

HTML5

Matthew David / Focal Press / 2010-07-29 / USD 39.95

Implement the powerful new multimedia and interactive capabilities offered by HTML5, including style control tools, illustration tools, video, audio, and rich media solutions. Understand how HTML5 is ......一起来看看 《HTML5》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具