数据库索引知识点

A:导致索引失效的一些情况
1:如果查询条件中有or,即使其中的一个条件有索引也会导致索引失效,若想使用or,则将or条件中的每个列都加上索引
2:对于多列索引,若没有使用第一部分,则不会使用索引
3:Like查询,使用%操作符时,若%在前则索引失效,在后面则没事
4:当列为字符串类型时,一定要在条件中将数据用引号括起来,否则不使用索引
5:若mySql预计使用全表扫描要比他使用索引快,则不使用索引

B:索引的原理
把字段按照一定的方式排序,索引就像书的目录,通过书的目录就能准确的定位到书籍的具体内容.
底层是B tree或B+ tree 平衡树, 把平衡树当做数据库默认的索引数据结构

C:索引的优缺点
1:增加检索速度
2:对于update/insert/delete的每次执行,字段的索引都必须重新计算更新,
        增删改数据都会改变平衡树各节点中的索引数据内容,破坏树结构

D:索引的类型
1:根据索引的顺序与数据库表的物理顺序是否相同,可以把索引分为两类,一种是数据库表的物理顺序与索引顺序相同的聚簇索引,
        另一种是不相同的非聚簇索引.
2:非聚簇索引和聚簇索引的区别在于,通过聚簇索引可以查找到需要查找的数据,而通过非聚集索引可以查找到记录对应的主键值,
再使用主键的值通过聚集索引查找需要的数据

猜你喜欢

转载自blog.csdn.net/xhf852963/article/details/80903961