为什么要加索引?
提高查询效率 -- 类似一个字典里 添加了目录
索引的分类:
(一)、普通索引
(二)、唯一索引 可以是组合索引。 索引可以是空,必须唯一,不一定是主键
(三)、全文索引 一般用在搜索文章内容,避免用like
(四)、组合索引(最左前缀) 比如一个组合索引是title(50),time(10) 这时where条件中生效情景:1、where title =1 and time=1 2、where title = 1
当where time =2 时不生效
当有多个索引时,最严格的索引生效。
聚集索引和非聚集索引:
区别类似与arraylist和hashmap
当然对应底层就是数组和链表
聚集索引查询出来的结果就是按照对应索引进行排好序的,到时候直接定位就行
而非聚集索引查询出来的时候是无顺序的。查询的时候分两步走,先定位到地址,再定位到具体位置
提高查询效率 -- 类似一个字典里 添加了目录
索引的分类:
(一)、普通索引
(二)、唯一索引 可以是组合索引。 索引可以是空,必须唯一,不一定是主键
(三)、全文索引 一般用在搜索文章内容,避免用like
(四)、组合索引(最左前缀) 比如一个组合索引是title(50),time(10) 这时where条件中生效情景:1、where title =1 and time=1 2、where title = 1
当where time =2 时不生效
当有多个索引时,最严格的索引生效。
聚集索引和非聚集索引:
区别类似与arraylist和hashmap
当然对应底层就是数组和链表
聚集索引查询出来的结果就是按照对应索引进行排好序的,到时候直接定位就行
而非聚集索引查询出来的时候是无顺序的。查询的时候分两步走,先定位到地址,再定位到具体位置