zoukankan
html css js c++ java
MySQL索引失效原因
索引失效的案例:
1、全值匹配我最爱
建立几个复合索引字段,最好就用上几个字段。且按照顺序使用
2、最佳左前缀法则
如果索引了多列,要遵守最左前缀法则,指的是查询从索引的最左前列开始,不跳过索引中间的列。(带头大哥不能死,中间兄弟不能丢)
3、不再索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描
4、存储引擎不能使用索引中范围条件右边的列。(范围之后全失效)
若中间索引列用到了范围(>、<、like等),则后面的索引全失效
5、尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *
6、Mysql在使用不等于(!=、<>)或like的左模糊的时候无法试用索引会导致全表扫描
7、IS NULL和IS NOT NULL也无法使用索引
8、字符串不加单引号索引失效,因为这里有一个隐式的类型转换操作,更严重会导致行锁变表锁,降低SQL效率
9、少用or,用它来连接时索引会失效
口诀
查看全文
相关阅读:
etcd扩展使用
etcd注册服务
net core微服务构建方案
一个简化的插件框架c#
NSQ消息队列
c#一些处理解决方案(组件,库)
c#网络传输
c#的传输组件dotnetty
c#网络加密传输
C++ Boost在Windows和Linux下的编译安装
原文地址:https://www.cnblogs.com/zhuang229/p/12687979.html
最新文章
Node.js Buffer(缓冲区)
java观察者模式
node事件循环
理论篇:关注点分离(Separation of concerns, SoC)
node js 回调函数
前端框架,后台语言
UEditor
工厂模式、抽象工厂模式、单例模式
设计模式
SpringBoot阿里巴巴Fastjson的一些常用配置
热门文章
SpringBoot启动加载类ApplicationRunner
SpringBoot+Mybatis+PageHelper实现分页
Mybatis注解开发模糊查询
SpringBoot拦截器中无法注入bean的解决方法
Java设计模式之【单例模式】
Java设计模式之【装饰者模式】
Java设计模式之【工厂模式】(简单工厂模式,工厂方法模式,抽象工厂模式)
git命令(持续更新)
nginx命令(持续更新)
c#各类DI容器
Copyright © 2011-2022 走看看