MyISAM存储引擎概要

一、MyISAM存储引擎是mysql5.5.8版本之前默认的存储引擎(除了Windows版本),之后默认的存储引擎是InnoDB。

二、MyISAM的组成

——.MYD(用来存放数据文件)和.MYI(用来存放索引文件)。

注:.frm——存储数据表定义,此文件非MyISAM引擎的一部分。

压缩和解压数据文件的工具——myisampack(使用赫夫曼编码静态算法来压缩数据)——>压缩后的表是只读的。同样利用该工具解压数据文件。

三、MyISAM的发展变化:

MySQL 5.0 前 ————————————> MySQL 5.0 后

MyISAM默认支持的表大小:4GB 默认支持256TB的单表数据

注:若需求大于4GB,要定制MAX_ROWS和AVG_ROW_LENGTH属性。

四、MyISAM存储引擎的特点:

MyISAM存储引擎不支持事务、不支持外键、表锁设计,支持全文索引,主要面向一些OLAP数据库应用。

注:数据库系统与文件系统很大的不同之处——对事务的支持。

ETI——Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、 加载(load)至目的端的过程。该操作需要事务的支持。

MyISAM特别之处——它的缓冲池只缓存索引文件,而不缓冲数据文件。(数据文件的缓存交由操作系统自身完成)

五、MyISAM支持3种不同的存储格式,以及优缺点:

1、静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的。

优点——存储非常迅速,容易缓存,出现故障容易恢复;

缺点——占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)

注:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把数据本身带的空格也会忽略。

2、 动态表:记录不是固定长度的,

优点——占用的空间相对较少;

缺点:频繁的更新、删除数据容易产生碎片,需要定期执行OPTIMIZE TABLE或者myisamchk-r命令来改善性能

3、 压缩表:因为每个记录是被单独压缩的,所以只有非常小的访问开支。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值