简单的in查询 索引失效:

步骤

1、检查建立索引没有

order_status 字段为普通索引的tinyint类型

2、检查是否使用了使索引失效的语句

3、explain查看执行计划

而 in(1)时会走索引

5、查看是否关闭的全局的索引(Comment显示disabled则表示关闭了索引)

SHOW KEYS FROM wy_order;

关闭:ALTER TABLE `wy_order` DISABLE KEYS ;

开启:ALTER TABLE `wy_order` ENABLE KEYS;

还找不到原因。。

难道是mysql查询优化器认为全表扫描时如果速度大于使用索引,就会不用索引

此外,查看索引的使用情况

show status like ‘Handler_read%';

注意:

handler_read_key:这个值越高越好,越高表示使用索引查询到的次数

handler_read_rnd_next:这个值越高,说明查询低效

那么使用强制索引呢

强制索引是生效的,求大佬告知(是mysql查询优化器认为全表扫描时如果速度大于使用索引,就会不用索引)是不是我猜想的这样呀

补充:索引失效

不走索引的情况,1)被查询出来的数据超过一定比例的时候,譬如表里有1000万条记录,一条SQL查的结果有600万,肯定不会走索引了2)索引列上用了函数的时候,例如where to_char(id) = ...

3)索引列上发生类型转换的时候,如number列你偏写成where col = '1',加了引号4)没有收集统计信息的时候,CBO是生成执行计划是要看统计信息的,在oracle 9i时,统计信息不是自动收集的,有没有碰到这样的情况:一条SQL一直正常,某天突然很慢很慢,一般就是统计信息没有收集的原因。5)强制全表扫描的时候6)索引失效的时候 使用+ - * / ! 等运算符号 使用 <> 、not in 、not exist、!=

like "%_" 百分号在前(可采用在建立索引时用reverse(columnName)这种方法处理)

单独引用复合索引里非第一位置的索引列.应总是使用索引的第一个列,如果索引是建立在多个列上, 只有在它的第一个列被where子句引用时,优化器才会选择使用该索引

当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况

索引列存在null7)复合索引时,谓词非前导列的时候

mysql in or索引失效_in 索引失效的问题相关推荐

  1. mysql in 索引 失效_in 索引失效的问题

    简单的in查询 索引失效: 步骤 1.检查建立索引没有 order_status 字段为普通索引的tinyint类型 2.检查是否使用了使索引失效的语句 3.explain查看执行计划 而 in(1) ...

  2. MySQL优化篇:单表索引失效

    文章目录 1.准备环境 2.全值匹配我最爱 2.最佳作前缀法则 3.不要在索引列上做任何计算 3.1 在查询列上使用了函数 3.2 在查询列上做了转换 4.索引列上不能有范围查询 5.尽量使用覆盖索引 ...

  3. mysql left join 索引失效_MySQL索引列上做操作导致索引失效案例分析

    索引列上做操作导致索引失效 通常我们认为只要建立索引就可以万事大吉,以为只要建立就一定会使用到,可其实在索引列上的计算.函数.类型转换都可能导致索引失效,所以我们不仅要会创建索引,更重要的是如何正确的 ...

  4. mysql索引失效_MySQL索引失效的底层原理详解,终于有人讲清楚了

    前言 吊打面试官又来啦,今天我们讲讲MySQL索引为什么会失效,很多文章和培训机构的教程,都只会告诉你,在什么情况下索引会失效. 比如:没遵循最佳左前缀法则.范围查询的右边会失效.like查询用不到索 ...

  5. mysql join 索引 无效_ORACLE MYSQL中join 字段类型不同索引失效的情况-阿里云开发者社区...

    ORACLE MYSQL中join 字段类型不同索引失效的情况 重庆八怪 2016-12-29 780浏览量 简介: 关于JOIN使用不同类型的字段类型,数据库可能进行隐士转换,MYSQL ORACL ...

  6. mysql数据索引失效_MySQL索引失效的几种情况

    1.索引无法存储null值 a.单列索引无法储null值,复合索引无法储全为null的值. b.查询时,采用is null条件时,不能利用到索引,只能全表扫描. 为什么索引列无法存储Null值? a. ...

  7. Mysql复习计划(四)- 索引失效和数据库设计规范

    Mysql复习计划(四)- 索引失效和数据库设计规范 一. 索引失效 1.1 数据准备 1.2 最左匹配原则 1.3 计算.函数.类型转换导致索引失效 1.4 范围条件右侧的列索引失效 1.5 不等于 ...

  8. 后端开发【一大波有用知识】MySQL索引原理(索引、约束、索引实现、索引失效、索引原则)以及SQL优化

    一.索引 索引分类:主键索引.唯一索引.普通索引.组合索引.以及全文索引(elasticsearch) 主键索引 非空唯一索引,一个表只有一个主键索引:在 innodb 中,主键索引的 B+ 树包含表 ...

  9. mysql 子查询索引失效_mysql 索引失效的情况

    索引失效的几种情况 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用 ...

最新文章

  1. 团体——L1-003 个位数统计 (c)
  2. python怎么把程序封装成函数_PYTHON中如何把固定格式代码,封装成一个函数?
  3. oracle 跨服务器推送视图_oracle跨数据库视图
  4. 俄罗斯机器人雄鹿_在雄鹿无球可打,在火箭重获新生!哈登,你又让一人打出身价...
  5. where does the route config data of extension component come from
  6. Java网络爬虫实操(8)
  7. android nougat和安卓7.1,Android Nougat 7.1.2 先睹为快
  8. RE2正则表达式引擎资料
  9. hdu 4333 Revolving Digits
  10. LeetCode--3. 无重复字符的最长子串(双指针)
  11. SQL Server 2012 创建数据库快照
  12. linux退出gnome模式,gnome-session怎么关闭比较好?
  13. 对于elemnet-ui的el-upload的使用总结(移除上传文件判断,action等问题)
  14. 安卓对讲机安装滔滔对讲黑屏起麦黑屏对讲设置
  15. 触摸电视电脑一体机的应用、功能优势
  16. MVC简介——一篇非常简单易懂的介绍
  17. java毕业设计选题基于JavaWeb实现疫情环境下校园宿舍|寝室管理系统
  18. UE5中提示Video Memory Has Been exhausted解决方案
  19. 上海理工大学854C语言真题,2018年上海理工大学医疗器械与食品院854C程序设计考研核心题库...
  20. 博弈论之海盗分金(最严谨)

热门文章

  1. 问题 H: 方块填数(2012年蓝桥决赛第5题--dfs)
  2. 美国西北大学 计算机工程专业排名,美国西北大学优势专业排名榜单最新一览...
  3. 程序员养发(老师付推荐)
  4. 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
  5. 如何检查防火墙引起的端口不通
  6. lazy初始化和线程安全的单例模式
  7. Django-form表单
  8. *args,**kwargs的使用方法
  9. CSS公共清除浏览器默认样式
  10. 基于tomcat集群做session共享