暂无图片
mysql in 查询
我来答
分享
暂无图片 匿名用户
mysql in 查询

直接用索引定位(Index Lookup)
索引条件推送(Index Condition Pushdown, ICP)

mysql,where A in ('xxx','xxx')
in list 查询,索引A ,是会用到索引定位还是ICP?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
龙舌兰地落🌏

索引直接定位。
如果你的条件里还多了and B = ‘xxx’,然后B列没被索引覆盖,那时候会用到ICP,在存储引擎层把B = 'xxx’过滤出来。

你问题里这个直接就能定位。

暂无图片 评论
暂无图片 有用 2
打赏 0
小草

如果 A 列上有索引,MySQL 会 使用索引定位(Index Lookup)来快速查找满足 IN 条件的记录。
索引条件推送(ICP)不会在这种简单的 IN 查询中发挥作用,除非查询中还有更多复杂的条件,涉及其他列的过滤条件。

暂无图片 评论
暂无图片 有用 2
打赏 0
张sir

ICP是当你有除了索引以外的筛选条件的时候,innodb层对非索引条件进行筛选。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL 数据库有90G,备份大概需要多久?
回答 3
阿里云1G/分钟,90G,大约需要60分钟
mysql中的一个字段要求用超过100位的bit来表示,发现bit()最多只能有64位,怎么解决?
回答 1
已采纳
换数据类型来存储
MySQL在查询处理的哪个阶段创建查询的执行计划??
回答 4
已采纳
1.语法分析阶段:将SQL查询语句经词法和语法分析后变换为一颗查询树stselectlex传给优化器,并对SQL表达的语义进行检查。2.生成逻辑查询执行计划阶段:优化器在查询树中遍历每个关系,确定关系
锁定 FOR UPDATE 是否允许通过 MySQL 中的另一个连接来执行简单的 SELECT 语句?
回答 1
已采纳
可以。
mysql定时器如何设置周一到周五执行,执行时间的判断不能写到do调用的存储过程中?
回答 1
已采纳
mysql有个类似oracle的job的叫EventScheduler。这个来进行定时执行。
请问我的语句哪里写的有问题啊?
回答 2
已采纳
提示的是语法错误,可以把几个变量的值打印做出来,手动执行下SQL。看图里267那里跟着两个单引号???
怎么计算表在heatwave里面占用的空间?
回答 1
HeatWave是MySQL实时分析计算架构,做OLAP的用的。市面上很少使用。按照个人经验,这个可以通过字段的长度byte计算就可以算出空间。最好可以在官方咨询下。
alert日志内容:COMMIT_WRITE is deprecated,use COMMIT_LOGGING and COMMIT_WAIT instead
回答 1
–将参数reset,即可从spfile中删除,可避免提示altersystemresetcommitwrite;
MySQL 配置文件mysql.ini和my.ini有什么区别?
回答 2
我装的没有mysql.ini这个文件呢?windows下配置文件为my.ini即Linux系统下是my.cnf
请问各位大佬mysql杀会话问题。kill命令是不是只能杀前台会话?
回答 4
已采纳
什么叫前台会话?它kill就是终止一个线程啊,连接也断掉。如果用的是killquery则终止连接当前正在执行的语句,而保留连接不断。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏