索引下推(CIP)
ICP 就是把索引扫描和索引过滤合并在一起处理,过滤后的记录数据下推到存储引擎后的一种索引优化策略。
索引条件下推默认是开启的,可以使用系统参数optimizer_switch来控制器是否开启。
索引下推优点如下:
1.减少了回表的操作次数。
2.减少了上传到 MySQL SERVER 层的数据。
索引下推使用条件:
只能用于range、 ref、 eq_ref、ref_or_null访问方法;
只能用于InnoDB和 MyISAM存储引擎及其分区表;
对InnoDB存储引擎来说,索引下推只适用于二级索引(非主键索引);
引用了子查询的条件不能下推;
引用了存储函数的条件不能下推,因为存储引擎无法调用存储函数。
MySQL 服务层: 用来解析 SQL 的语法、语义、生成查询计划、接管从 MySQL 存储引擎层上推的数据进行二次过滤等等。
MySQL 存储引擎层: 按照 MySQL 服务层下发的请求,通过索引或者全表扫描等方式把数据上传到 MySQL 服务层。
MySQL 索引扫描: 根据指定索引过滤条件 ,遍历索引找到索引键对应的主键值后回表过滤剩余过滤条件。
MySQL 索引过滤: 通过索引扫描并且基于索引进行二次条件过滤后再回表
原文链接:https://blog.csdn.net/zhuocailing3390/article/details/124502729
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




