文章目录
引言:数据库的文件在进行存储时,是按照数据库的存储引擎的格式进行存储的,本文介绍MySQL常用的两种存储引擎
一.存储引擎介绍
MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎
存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式
MySQL常用的存储引擎: MyISAM、InnoDB
MySQL数据库中的组件,负责执行实际的数据I/0操作
MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之
后按照各个存储引擎的存储格式进行存储
二.MyISAM与Innodb
2.1 MyISAM
MyISAM 表支持的3 种不同的存储格式
-
静态(固定长度)表
静态表是默认的存储格式。静态表中的字段都是非可变字段,这样每个记录都是固定长度的,这种存储方式的优点是存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多。 -
动态表
动态表包含可变字段,记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新、删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r 命令来改善性能,并且出现故障的时候恢复相对比较困难。 -
压缩表
压缩表由 myisamchk 工具创建,占据非常小的空间,因为每条记录