MySQL存储引擎
MySQL中的存储引擎查询语句:SHOW ENGINES
一、InnoDB
- 在MySQL从3.23.34a开始包含InnnoDB,给MySQL的表提供了事务处理、回滚、崩溃修复能力和多版本并发控制的事务安全。大于等于5.5之后,默认InnoDB引擎。
- InnoDB存储引擎总支持AUTO_INCREMENT。自动增长列的值不能为空,并且值必须唯一。MySQL中规定自增列必须为主键。
- InnoDB还支持外键(FOREIGN KEY)。外键所在的表叫做子表,外键所依赖(REFERENCES)的表叫做父表。
- 数据文件结构:1.表名.frm 存储表结构(Mysql8.0时合并到.ibd中);表名.ibd 存储数据和索引
二、MyISAM
- MyISAM的表存储成3个文件。文件的名字与表名相同。拓展名为frm、MYD、MYI。其实,frm文件存储表的结构;MYD文件存储数据,是MYData的缩写;MYI文件存储索引,是MYIndex的缩写。
- MyISAM的优势在于占用空间小,处理速度快,主要以读操作和插入操作为主。缺点是不支持事务的完整性和并发性