MySQL学习笔记(更新中)

##一、各存储引擎的特性
这里写图片描述
###1、MyISAM
MyISAM是MySQL默认的存储引擎。MyISAM不支持事务、不支持外键。优势是访问速度快,对事务完整性没有要求。
每个MyISAM在磁盘上存储成3个文件,其文件名和表名都相同,但扩展名分别是:

.frm(存储表定义);
.MYD(MYDaata,存储数据);
.MYI(MYIndex,存储索引)。

MyISAM类型的表可能会损坏,原因多种多样,损坏后的表可能不能被访问,会提示需要修复或访问后返回错误的结果。MyISAM类型的表提供修复的工具,可以用CHECK TABLE语句来检查MyISAM表的健康,并用REPAIR TABLE语句修复一个损坏的MyISAM表。表损坏可能导致数据库异常重启,需尽快修复并尽可能确认损坏原因。

MyISAM的表还支持3中不同的存储格式,分别是:

-静态(固定长度)表
-动态表
-压缩表

其中,**(1)静态表是默认的存储格式。静态表中的字段都是非变长字段,这样每个记录都是固定长度的,这种存储方式的优点是存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多。(2)动态表中包含可变长字段,记录不是固定长度的,这样存储的优点是占用的空间相对较少,但频繁地更新和删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk -r命令来改善性能,而且在出现故障时恢复相对比较困难。(3)**压缩表由myisam工具创建,占据非常小的磁盘空间。因为记录是被单独压缩的,所以只有非常小的访问开支。

###2、InnoDB
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些,而且会占用更多磁盘空间以保留数据和索引。
#####特点:
#####1)自动增长列
#####2)外键约束
#####3)存储方式

猜你喜欢

转载自blog.csdn.net/mabiao6822/article/details/82594962