一起学习Mysql索引三(ICP,索引条件下推)
上一篇文章一起学习Mysql索引二(索引的高性能策略)中我们提到了Mysql5.7版本的一个改进: "索引条件下推"(index condition pushdown)。 那么,今天就让我们来揭开它的神秘面纱。 从ICP(index condition pushdown)的字面意思来看,大家疑惑的点应该就是这个"pushdown"--下推了。 什么是下推,下推到哪里,有什么用?带着疑问,我们先从关闭和开启ICP对一些sql语句的影响,然后再进一步的解答提出的问题。 首先,我们可以通过如下语句开启或关闭Myslq的ICP特性: SET optimizer_switch = 'index_condition_pushdown=off'; //关闭 SET optimizer_switch = 'index_condition_pushdown=on'; //开启 Mysql 新版本默认开启该特性,然后我们准备一张表: CREATE TABLE demo ( id bigint(11) unsigned NOT NULL AUTO_INCREMENT, pid int(11) DEFAULT '0', nid int(5) DEFAULT NULL, country varchar(10) DEFAULT '', name varchar(10) DEFAULT '', status