数据库索引分类

底层原理:

1. 通过缩小数据范围,快速查询数据。

2.  把随机事件变成顺序事件。

一. 按照索引作用对象

1. 单列索引
1)普通索引:允许空值,允许重复值
2)唯一索引:不允许重复值,允许空值
3)主键索引:不允许空值,不允许重复值


2. 组合索引(联合索引)
多列值组成一个索引,用于组合搜索,效率大于索引合并。

遵循最左前缀原则
eg:(a,b,c)创建索引,共有(a),(a,b),(a,b,c)三种索引


3. 全文索引
只能在CHAR,VARCHAR,TEXT类型的字段上加该索引。主要用来查找文本中的关键字,而不是直接与字段值进行比较,全文索引需要配合match against使用,而不是一般的where like…


4. 空间索引
是对空间数据类型的字段建立的索引,传统索引的多维化,空间索引的列必须是not null

二. 按照索引算法

1. B+树索引:范围查询快,效率比较平均

2. Hash索引:单条查询快,有hash碰撞问题

3. 全文索引:分词算法

4. R树索引:B+树多维化

三. Mysql数据库中的索引

数据库索引分类_第1张图片

 

你可能感兴趣的:(大数据,数据库,sql,mysql)