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

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

作者: 一觉睡到丶小时候 | 来源:发表于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、 索引其实是很庞大的,需要占用额外的磁盘空间。当然如今磁盘很便宜,可能不太在乎!

相关文章

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

    源自面试鸭 建立索引 如何避免索引失效 使用索引的缺点

  • 63 MySQL实战性能优化-optimizer_trace

    1,mysql索引性能优化最佳实战 2, 使用索引查询如何避免回表查询 3,为什么查询有时候加了索引也会失效? 4...

  • Mysql索引失效

    mysql 索引失效的原因有哪些?Mysql索引失效的原因 1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原...

  • mongodb索引

    先题几个问题 什么是索引? 如何建立索引? 如何选择建立索引的字段? 如何强制使用索引? 如何评估索引效率? 如果...

  • 索引失效的情况

    1、组合索引不遵循最左匹配原则 2、组合索引前面索引列使用范围查询(<,>,like),会导致后续的索引失效 3、...

  • 11.MySQL组合索引的有序性

    组合索引的有序性和最左前缀原理【强制】理解组合索引最左前缀原则,避免重复建设索引,如果建立了(a,b,c),相当于...

  • MySQL索引的数据结构

    建立索引的原则 最左前缀匹配原则 尽量选择重复度小的列 索引列不参与计算 尽量扩展索引,不要新建索引 索引的数据结...

  • 索引优化:索引失效(应避免)

    SQL如下: 索引失效的十大原因: 1、全值匹配我最爱建立几个复合索引字段,最好就用上几个字段。且按照顺序来用。 ...

  • 阿里腾讯面试题目4

    1、组合索引问题,失效问题 1.组合索引多字段是有序的,并且是个完整的BTree 索引,有最左原则多列索引是先按照...

  • 联合索引

    联合索引的创建原则 使用次数较为频繁的放在最左端。(此时甚至可为其单独建立索引) 联合索引存在“最左原则”。 最左...

网友评论

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

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