数据库引擎
- Myisam
可以把数据文件和索引放在不同目录(innodb放在同一目录)
不支持事物外键
但访问速度快 - Innodb
提供事物外键
提供了具有提交,回滚和崩溃回复能力的事物安全(ACID兼容)的引擎
innodb是为了处理巨大数据量的最大性能设计,cpu效率极高 - Memory
数据存放在内存中
访问速度非常快(默认hash索引)
但服务一旦关闭,表中的数据丢失
索引
将已有数据(和未来新增的数据)单独建立一个文件,文件能够实现快速的匹配数据,并能够快速的查找到对应表中的记录。
Myisam和Innodb的索引均使用B+树,Memory采用Hash
Innodb
叶子结点的data域存储完整的数据记录
- 主键索引,索引的key即为表的主键(聚集索引使得搜索主键非常高效)
- 辅助索引,辅助索引的data域存储的是主键的值,搜索辅助索引需要先根据辅助索引获取到主键值,在根据主键到主键索引中获取对应的数据记录
Myisam
叶子结点data域存储的是数据记录的地址。数据文件和索引文件分别存储在***.MYD和***.MYI(表名.后缀),索引文件(MYI)保存数据记录的地址,主要流程是先按照B+树算法搜索,找到指定的key,取出data域中的值,根据该值查找对应的数据记录(非聚集索引)