- MYISAM
- MYISAM不支持事务,也不支持外键,但是访问速度较快;对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。
- 每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:.frm(存储表定义),.MYD(MYData,存储数据),.MYI(MYIndex,存储索引)
- INNODB
- InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全机制。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。(MySQL5.5版本后默认引擎为INNODB)
- InnoDB索引方法只支持BTREE类型,不支持HASH(只有MEMORY支持HASH)
- MEMORY
- MEMORY使用存储在内存中的内容来创建表。每个MEMORY表实际对应一个磁盘文件,格式是.frm
- MEMORY类型的表访问非常快,因为它的数据是放在内存中的,并且默认使用HASH索引,但是一旦服务器关闭,表中的数据就会丢失,但表还会继续存在(因为表的.frm文件是存在磁盘里的)。
本文深入解析了MySQL中三种主要的存储引擎:MYISAM、INNODB和MEMORY。MYISAM适用于读取密集型应用,不支持事务和外键;INNODB提供事务安全机制,适合写操作频繁的场景;MEMORY则将数据存储于内存中,速度快但数据易丢失。

4696

被折叠的 条评论
为什么被折叠?



