时间:2021-07-01 10:21:17 帮助过:24人阅读
每个Myisam引擎在磁盘上存储成3个文件,其文件名都和表名相同,但扩展名分别是
.frm(存储定义)
.MYD(MYDdata,存储数据)
.MYI(MYIndex,存储索引)
数据文件和索引文件可以放置在不同的目录,平均分布IO,获得更快的速度
要制定索引文件和数据文件的路径,需要在创建表的时候通过DATA DIRECTORY和INDEX DIRECTORY语句指定,也就是说不同Myisam表的索引文件和数据文件可以放置到不同的路径下,文件路径需要的是绝对路径,并且具有访问权限
注意:Myisam类型的表可能会损坏,原因会有很多种,损坏后的表不能访问,会提示需要修复或者访问后返回错误结果,可以使用CHECK TABLE语句来检查Myisam表的健康,并用REPAIR TABLE 语句修复一个损坏的Myisam表。
Myisam引擎的表还支持3种不同的存储格式
静态(固定长度)表:静态表为默认的存储格式,静态表中的字段都非变长字段,都是固定长度,优点是存储非常迅速,容易缓存,出现故障容易回复,缺点是占用的空间比动态多,静态表的数据会根据列的宽度来补足空格,但是在应用访问的时候不会得到这些空格~
最值得注意的是如果需要保存的内容后面本来就带有空格,那么在返回的时候也会被去掉
动态表中包含变长字段,记录不是固定长度的,这样存储的优点是占用的空间相对较少,但是长期频繁的更新和删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk-r命令来改善性能,并且在出现故障时恢复相对比较困难
压缩表myisampack工具创建,占据非常小的磁盘空间,因为每个记录是被单独要锁的,所以访问只有非常小的访问开支。
mysql学习->存储引擎(Myisam)
标签:led 动态表 内存 静态 air 错误 两种 缺点 isa