MySQL优化技巧口诀

1 篇文章 0 订阅

前言

在根据执行计划对SQL进行分析之后,逐步的去优化每个子查询的索引及成本使用情况,执行计划我的理解就是用来对索引进行逐步的优化的一个过程,让每个查询都尽量使用索引,在索引过程中,索引会经常性

一、优化口诀

  1. 全值匹配我最爱,最左前缀要遵守
  2. 带头大哥不能死,中间兄弟不能断
  3. 索引列上少计算,范围之后全失效
  4. LIKE符号写最右,覆盖索引不写*
  5. 不等空值还有OR,索引失效要少用
  6. VAR引号不能丢,SQL高级也不难
  7. 分组之前必排序,一定要上索引啊

二、建索引注意事项

  1. 单值索引,尽量选择过滤性更好的字段,例如:性别字段,过滤度为50%,识别率很差,不建议建索引

  2. 组合索引,索引字段的顺序可以按照识别度进行排序,识别度越高,放在越靠前

  3. 组合索引,尽量包含where语句中的更多字段

  4. 尽可能的根据分析执行计划、统计信息,去调整query的写法达到合适索引的目的

三、索引容易失效的几个注意点

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

  2. 组合索引中,如果中间某个字段使用了范围条件,则右边的列索引失效

  3. 尽量使用覆盖索引(索引列和查询列一致),减少使用select *

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

  5. is null ,is not null 也无法使用索引

  6. like通配符必须放在索引列的右边,否则索引失效,编程全表扫描

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

  8. 少用or,用它连接索引会失效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值