MySQL存储引擎 MyISAM 介绍

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

ASP.NET 2.0入门经典

ASP.NET 2.0入门经典

哈特 / 清华大学出版社 / 2006-8 / 78.00元

该书是Wrox红皮书中的畅销品种, 从初版、1.0版、1.1版到目前的2.0版,已经3次升级,不仅内容更加完善、实用,还展现了.NET 2.0的最新技术和ASP.NET 2.0最新编程知识,是各种初学者学习ASP.NET的优秀教程,也是Web开发人员了解ASP.NET 2.0新技术的优秀参考书。该书与《ASP.NET 2.0高级编程(第4版)》及其早期版本,曾影响到无数中国Web程序员。一起来看看 《ASP.NET 2.0入门经典》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换