Index Condition Pushdown(ICP)是MySQL 5.6中的的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。ICP可以减少存储引擎访问基表的次数以及MySQL服务器访问存储引擎的次数。 当MySQL使用索引从表中检索行时,索引条件下推(ICP)是一种优化。
通过EXPLAIN上Extra信息里的 Using index / Using index condition 进行区分。 控制参数 mysql> SHOW VARIABLES LIKE 'optimizer_switch'\G;
DELIMITER // DROP PROCEDURE IF EXISTS proc_batch_insert; CREATE PROCEDURE tuser_batch_insert() BEGINDECLARE pre_name BIGINT;DECLARE ageVal INT; DECLARE i INT; SET pre_name=139; SET ageVal=100; SET i=1;
指标观察:
备注: 这里Handler_read_next索引扫描时,按照索引从数据文件里取数据的次数,明显差距非常大。 refine_plan:
ICP是使用场景是二级索引,ICP的加速效果取决于筛选掉的数据的比例:
墨天轮原文链接:https://www./db/99145(复制到浏览器或者点击“阅读原文”立即查看) |
|