mysql 的 in 不一定不走索引
很早之前就听别人说in 不走索引,但是一直没证实过,昨天在工作中用到了in所以在上班的时候突发奇想,使用mysql 的explain 关键字看下一条sql走不走索引,sql 如下所示:
explain SELECT*
FROMlg_order
WHERElogistics_number IN ('03245100007990077','0324510000799007','0323920000077348500001','0329660000077348501001','0322340000799007734','0283920000799009498','132902052979900773485','03215700007998558001','132284314879900s779001','1329080973077348560001','13292709257990077348561001','1321640241777348562s001','1324100421799007734ss8563001','13224702197990077348561','0326200000799007734s86001','1327550457799007767001','132836013379900768001','132760071979900','132249127779900')
如上图所示,这里用到了in,但是这条sql 还是走了索引,如下图:
in索引的说明
后来通过查询网上的文章(如下所示)得知in 不一定不走索引,只有使用索引会导致比不用索引的性能还差则会不走索引,一般这个范围在数据量的百分之三十左右,超过百分之三十就不走索引了
MySQL中in到底走不走索引?_一个技术渣渣的博客-CSDN博客_in走不走索引explain介绍mysql中explain关键字可以模拟MySQL优化器执行SQL语句,是一个可以很好的分析SQL语句或表结构的性能瓶颈。explain的使用方法:explain + sql语句,下面我们先来执行下explain语句EXPLAIN SELECT * FROM `user` WHERE created_time > "2020-03-08";执行结果如下:可以看到有几个返回参数:id、select_type、table、partitions、type、p.https://blog.csdn.net/kevinxxw/article/details/109567275
索引的级别
另外索引是有一定级别的,级别越高性能越好,以下这篇文章有说明:
mysql 查询优化 索引 type级别_陈森森ml的博客-CSDN博客_索引级别mysql查询速度优化这是type级别 越左边 查询速度越快system>const>eq_ref>ref>range>index>ALL怎么样才能让type靠左呢 就是建立索引 最左边的俩级 基本达不到 我们让查询type达到第三级和第四级就很好了 为什么这么说呢?表主键 唯一索引也只能达到 eq_ref 级别的如果不做索引的话 肯定都是ALL了…Type级别解释1.system级别1.只有一条数据的系统表2.或衍生表只能有一条数据的主查询很明显 https://blog.csdn.net/qq_45065975/article/details/107906523
explain 关键字
explain 关键字不懂,参考这篇文章:
MySQL的Explain关键字查看是否使用索引 - 贾树丙 - 博客园explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。 explain关键字的使用方法很简单,就是https://www.cnblogs.com/acm-bingzi/p/mysqlExplain.html
mysql 的 in 不一定不走索引相关推荐
- Mysql优化,导致查询不走索引的原因总结
原文地址:http://blog.csdn.net/m0_37808356/article/details/72526687 最近公司让我做SQL优化的工作(MySql),用explain发了一些问题 ...
- MySQL的in条件走不走索引
答案是:看in后面跟的条件和扫描行的比例 目录 准备条件 鉴定过程 编写查询sql语句,查看执行计划: 这里吧in后面的数据范围变大: 这里测试把后面的条件: a.b换成 demo02.demo03 ...
- MySql中的like和in走不走索引
今天我们来实际操作一下 首先我们创建一个用户表进行测试 Like 在email字段上加一个索引来测试Like关键字 我们先来复习一下Like语句的几种写法 往大的方向说Like语句由两种写法,分别时% ...
- mysql内联表格使用索引_【求助】MYSQL表关联内联视图不走索引问题??诡异啊...
首先声明: FACT_DATE_SALES_CI_INDEX 的DAY,DIM_ORG建有复合索引,同时FACT_DATE_SALES_FACT_DATE_SALES_F1表的RETAIL_SALES ...
- MySQL not exists 真的不走索引么?
在一些业务场景中,会使用NOT EXISTS语句确保返回数据不存在于特定集合,部分同事会发现NOT EXISTS有些场景性能较差,甚至有些网上谣言说"NOT EXISTS不走索引" ...
- mysql datetime month不走索引_like百分号加前面一定不走索引吗?一不小心就翻车,关于mysql索引那些容易错的点...
like百分号加前面一定不走索引吗? 正常来讲,我们都知道在mysql的like查询中,百分号加在关键词后面是走索引的,比如 select * like "张三%",而百分号在前面 ...
- 查询没有走索引_关于MySQL种的in函数到底走不走索引、我和同事差点大打出手!...
" 我是小羊同学,一个兢兢业业的程序员" 背景:有一天同事突然问我为什么加了in查询就突然变慢了.小羊脱口而出:"in不走索引!" 于是就炸开了锅:in不走索引 ...
- mysql select不走索引_避免写出不走索引的SQL, MySQL
在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你就"成功的避开了"MySQL的所有索引. 现 ...
- mysql in 索引_关于MySQL种的in函数到底走不走索引、我和同事差点大打出手!
" 我是小羊同学,一个兢兢业业的程序员" 背景:有一天同事突然问我为什么加了in查询就突然变慢了.小羊脱口而出:"in不走索引!" 于是就炸开了锅:in不走索引 ...
最新文章
- linux视频教程之进程管理
- Html和CSS的关系
- 如何做一份出色的竞品分析?(一)
- 笔记:用EXCEL计算收益(复利)
- 图形系统中的仿射变换
- 服务器遭受攻击后,这样排查处理不背锅!
- CF741C Arpa’s overnight party and Mehrdad’s si
- http端口_PhpStorm 修改默认端口号63342
- 作为开发人员,这四类Code Review方法你都知道吗?
- 一次Linux服务器***查杀经历
- 双向循环链表---仿照linux内核实现
- MongoDB 通过 Java 代码 CRUD 数据库与集合
- java怎么把程序写入持久化_如何将DataFrame持久化到Hive表?
- 地理加权回归简易总结
- 排名前三的网址导航站和源码资源站分享
- PS2019渐变工具、油漆桶工具、3D材质拖放工具
- Illegal instruction 问题处理
- QComboBox实现下拉框check勾选
- 数制中为什么1代表负号
- 教你亲手制作一个虚拟数字人,超全步骤详解