mysql的索引

索引的优点

查询快

 

缺点

占用额外空间   对数据进行改动时需要额外维护索引表

 

用于 重复率低 修改少的字段

 

唯一索引   主键索引    普通索引   联合索引

 

普通索引:(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。

唯一索引: 普通索引允许被索引的数据列包含重复的值,而唯一索引不允许,但是可以为null。所以任务是保证访问速度和避免数据出现重复。一个表可以有多个唯一索引

主键索引:在主键字段创建的索引,一张表只有一个主键索引。

组合索引:多列值组成一个索引,专门用于组合搜索。

 

 

有hash索引和b+索引两种

 

用b+索引好一些   因为 b+索引和一范围查找  hash索引只能等值查找

 

b+树

每个节点都只存索引  能存更多数据  只在叶子节点存数据(聚簇索引和非聚簇索引)

叶子节点会连成一个链表

 

索引失效的场景

 

 

 

 1 使用like时 通配符在前

2 用函数处理索引字段

3 联合索引没有从最左侧开始匹配

4 查询条件用 or ,想要索引生效 or的每个字段都要加索引

 

posted @ 2022-01-05 11:36  霸王龙168  阅读(35)  评论(0)    收藏  举报