如果表访问的类型为range、ref、 eq_ref和ref_or_null可以使用索引下推
ICP可以用于InnoDB和MyISAM表,包括分区表InnoDB和MyISAM 表
对于InnoDB表,ICP 仅用于二级索引。ICP 的目标是减少全行读取次数,从而减少I/O操作。
当SQL使用覆盖索引时,不支持ICP.因为这种情况下使用ICP不会减少I/O。
相关子查询的条件不能使用ICP
注意ICP只能在存储引擎层解决一个WHERE,第二个WHERE还得传回服务层判断,比如,当用索引判断不了的WHERE有两个时候,只有第一个用到ICP了:
SELECT …
WHERE …
AND …