MySQL 知识-- ICP 优化
本文最后更新于:10 天前
Index Condition Pushdown (ICP)
-
目的: 在取出索引的同时,提前判断 where 条件,从而提前过滤一部分不符合条件的记录
-
适用条件:explain 的 type 为 range,ref,eq_ref,ref_or_null,而 Extra 可以看到 using index condition
-
好处: 减少上层 SQL 层对记录的索取,从而提升数据库的整体性能
-
工作方式:
如果没有 ICP,在进行索引查询时,首先会根据索引查找记录,然后再根据 where 条件来过滤
而使用 ICP 之后,存储引擎在取出索引的同时,会判断是否可以进行 where 条件过滤,也就是将 where 部分过滤操作放到了存储引擎层,在某些查询下,可以大大减少上层 SQL 层对记录的索取,从而提高数据库的整体性能
本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 。转载请注明出处!