简介
数据库引擎是用于存储、处理和保护数据的核心服务
(简言:一种引擎就是一种管理数据的方式)
当你访问数据库时,不管是手动访问,还是程序访问,都不是直接读写数据库文件,而是通过数据库引擎去访问数据库文件
MyISAM
1.MySQL 5.0之前的默认引擎;
2.它把数据文件和索引文件分开存储;
3.数据文件是按照线性表方式存储;
4.索引文件是按照B+树的结构存储。
InnoDB
1.MySQL现在的默认引擎;
2.没有数据文件,所有数据都在B+树中
3.以主键作为索引查找数据(聚集索引)一次查找到位;
4.以其他字段作为索引查找(非聚集索引)第一次通过索引字段查找对应主键值,第二次根据主键值查找到对应数据。
注: InnoDB引擎是用主键作为key保存数据的,故InnoDB引擎的每张表必须有主键。
一般用户定义主键,如果用户没有定义,InnoDB自行选一个字段作为主键;如果选取不成功,会添加一个不可见字段作为主键进行存储。