详解MySQL数据库的Index Condition Pushdown(ICP)特性
发布时间:2019-07-23 02:47:48 所属栏目:评测 来源:佚名波波说运维
导读:副标题#e# 概述 今天主要介绍一下mysql的ICP特性,可能很多人都没听过,这里用一个实验来帮助大家加深一下理解。 一、Index_Condition_Pushdown Index Condition Pushdown (ICP)是MySQL用索引去表里取数据的一种优化。如果禁用ICP,引擎层会穿过索引在基表
在运行三次相同的查询,结果如下: ![]() 有意思的事情发生了,关闭ICP后,同样的查询,耗时是之前的三倍以上。 下面我们用explain看看后者的执行计划:
![]() 从开启ICP和关闭ICP的执行计划可以看到区别在于Extra,开启ICP时,用的是Using index condition;关闭ICP时,是Using where。 其中Using index condition就是ICP提高查询性能的关键。下面说明ICP提高查询性能的原理。 三、原理 ICP的原理简单说来就是将可以利用索引筛选的where条件在存储引擎一侧进行筛选,而不是将所有index access的结果取出放在server端进行where筛选。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |