• 6.1 索引优化


    1、总结

    2、结论的逐条分析

    a.全值匹配我最爱

    b.最佳左前缀原则(如果索引为多列,要遵循最佳最前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。)

       口诀:带头大哥不能死,中间兄弟不能断。

    c.不在索引列上做任何操作( 计算、函数、(自动or手动)类型转换 ),会导致索引失效而转向全表扫描

    d.存储引擎不能使用索引中 范围条件 左边 的列

      口诀:范围之后全失效。

    e.尽量使用覆盖索引(只访问索引的查询 (索引列和查询列一致) ),减少select *

    f.mysql 在使用不等于( != 或者 <> )的时候无法使用索引,会导致全表扫描

    g.is null、is not null 也无法使用索引

    h.like以通配符开头( '%abc……' ) mysql 索引失效变成全表扫描的操作

      口诀:like % 加 右边。

    问题:解决like '%字符串%' 时索引不被使用的方法 ?

    方法:利用覆盖索引解决。

    案例:id是主键,name和age是索引列。

    i.字符串不加单引号索引失效

    j.少用or,用它来连接时会索引失效

    3.小总结

    一般性建议:

    对于单键索引,尽量选择对当前query过滤性更好的索引。
    在选择组合索引的时候,当前Query中过滤性最好的在索引字段顺序中,位置越靠前越好。
    在选择组合索引的时候,尽量选择可以包含当前query中的where子句中更多字段索引。
    尽可能通过分析统计信息和调整query的写法来达到选择合适的索引的目的。

    关注我的公众号,精彩内容不能错过

  • 相关阅读:
    边框的作用之产生相对margin
    css3 实现切换显示隐藏效果
    Vue 获取数据、事件对象、todolist
    Vue 双向数据绑定、事件介绍以及ref获取dom节点
    Vue 目录结构分析 数据绑定 绑定属性 循环渲染数据 数据渲染
    Vue 安装环境创建项目
    进程&线程
    生成Excel
    JQuery input file 上传图片
    0908期 HTML 样式表属性
  • 原文地址:https://www.cnblogs.com/huanchupkblog/p/7474589.html
Copyright © 2020-2023  润新知