mysql数据库引擎,索引详解

一、数据库引擎

数据库引擎有三类:InnoDB,MyISAM,MEMORY。其中InnoDB,MyISAM最常用,区别如下:

InnoDB存储引擎
1.支持事务
2.支持外键
3.行级锁
4.支持崩溃后的安全恢复
5.主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;
因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问主键索引;

MyISAM存储引擎
1.不支持事务,但操作是原子性的
2.不支持外键
3.表级锁
4.不支持崩溃后的安全恢复
5.采用非聚集索引,索引文件的数据域存储指向数据文件的指针。

MEMORY
所有的数据都在内存中,数据的处理速度快,但是安全性不高。

全文索引:建立索引文件,都为关键词,先搜索关键词更快,不用去搜索每条数据
聚集索引:数据行的物理顺序与列值的顺序相同
非聚集索引:数据行的物理顺序与列值的顺序不同

Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。
Mysql常见索引有:主键索引(根据主键)、唯一索引(索引列的值一定不唯一)、
普通索引、全文索引(关键字)、组合索引(最左匹配原则)

二、为什么数据库采用B+树?

因为B+树的数据都在叶子节点,非叶子结点只存索引
那么当select多条记录时,便可不用跨层访问,只需扫描叶子节点即可

发布了24 篇原创文章 · 获赞 0 · 访问量 595

猜你喜欢

转载自blog.csdn.net/weixin_43896829/article/details/104621772