美文网首页
索引的建立原则, 如何避免索引失效

索引的建立原则, 如何避免索引失效

作者: 一觉睡到丶小时候 | 来源:发表于2022-11-22 14:31 被阅读0次

    源自面试鸭

    建立索引

    1.经常使用的字段
    
    2.字段最好唯一
    
    3.字段类型尽量用数值型,减少字符类型
    
    4.对于带条件和排序字段的字段建立索引
    
    5.频繁出现在where条件后面的字段
    
    6.字段应选差异性较大的字段,否则失去了索引的意义。
    

    如何避免索引失效

    1.最佳左前缀法则 - 如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过复合索引中间列。
    
    2.不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。
    
    3.存储引擎不能使用索引中范围条件右边的列。
    
    4.尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *。
    
    5.mysql在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描。
    
    6. is null, is not null 也无法使用索引。
    
    7.like以通配符开头(’%abc…’),mysql索引失效会变成全表扫描的操作。
    
    8.字符串不加单引号索引失效。
    
    9.少用or,用它来连接时会索引失效。
    

    使用索引的缺点

    1 、会使得写操作的性能下降,因为底层使用的是B+树,增删元素为了保持索引的查询效率,需要对树的结构重新排列,从而使得写操作的效率下降。
    2、 索引其实是很庞大的,需要占用额外的磁盘空间。当然如今磁盘很便宜,可能不太在乎!

    相关文章

      网友评论

          本文标题:索引的建立原则, 如何避免索引失效

          本文链接:https://www.haomeiwen.com/subject/decnxdtx.html