MyISAM
MyISAM 存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm 文件,另外还有.MYD和.MYI 文件,分别存放了表的数据(.MYD)和索引数据(.MYI)。每个表都有且仅有这样三个文件做为 MyISAM 存储类型的表的存储,也就是说不管这个表有多少个索引,都是存放在同一个.MYI 文件中。
InnoDB
在物理存储方面,Innodb 存储引擎也和 MyISAM 不太一样,虽然也有.frm 文件来存放表结构定义相关的元数据,但是表数据和索引数据是存放在一起的。
总结
InnoDB | MyISAM | |
存储文件 |
.frm文件: 存储表定义文件 .idb文件: 数据文件(包括索引和文件) |
.frm文件: 存储表定义文件 .myd文件: 存储数据 .myi文件: 存储索引 |
锁 | 表锁和行锁 | 表锁 |
事务 | 支持事务(ACID) | 不支持事务 |
CRUD | 读,写 | 读多 |
count | 扫表 | 有专门存储的地方 |
索引结构 | B+Tree | B+Tree |
版权声明:本文为m0_71975767原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。