MySQL Index Condition Pushdown(ICP)的使用限制有哪些

技术MySQL Index Condition Pushdown(ICP)的使用限制有哪些小编给大家分享一下MySQL Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之

边肖想和大家分享一下使用MySQL索引条件下推(ICP)的限制。希望你看完这篇文章后有所收获。让我们一起讨论一下。

ICP(index condition pushdown)是mysql使用索引(辅助索引)元组和索引中筛选字段的where条件从表中提取数据记录的优化操作。ICP的思想是,在访问索引时,存储引擎检查索引中过滤字段的where条件(推送索引条件),如果索引元组中的数据不满足推送索引条件,则过滤掉数据记录。ICP (Optimizer)尽可能将索引条件的处理从服务器层下推到存储引擎层。存储引擎使用索引过滤无关数据,只将符合索引条件的数据返回给服务器层。也就是说,数据过滤尽量在存储引擎层进行,而不是将所有数据返回到服务器层,然后根据where条件进行过滤。

索引下推(ICP)是MySQL版本中的新功能,是存储引擎层通过索引过滤数据的优化方式。

答:当ICP关闭时,索引只是数据访问的一种访问方式,存储引擎通过索引回表得到的数据会传递到MySQL Server层进行where条件过滤。

b .当ICP开启时,如果某些where条件可以使用索引中的字段,MySQL server会将这部分下推到引擎层,通过索引过滤的where条件可以用于存储引擎层的数据过滤,而不是将所有通过索引访问的结果传输到MySQL Server层进行where过滤。

优化效果:ICP可以减少引擎层访问基表和MySQL Server访问存储引擎的次数,减少io数量,提高查询语句性能。

当ICP开启时,MySQL会使用索引过滤存储引擎层的数据,以减少不必要的返回表。请注意,在虚线中使用where意味着如果where条件包含未被索引的字段,它仍然需要由MySQL Server层进行筛选。

ICP :的使用限制。

1当sql需要全表访问时,ICP的优化策略可以用于range、ref、eq_ref、ref_or_null类型的数据访问方法。

2支持InnoDB和MyISAM表。

3 ICP只能用于二级指标,不能用于一级指标。

4并非所有条件都可以通过电感耦合等离子体进行筛选。

如果where条件的字段不在索引列中,则应将整个表的记录读取到服务器进行where筛选。

ICP的加速效果取决于存储引擎中ICP过滤掉的数据比例。

6.6版不支持子表的ICP功能,5.7版支持。

7当sql使用覆盖索引时,不支持ICP优化方法。

看完这篇文章,相信大家对“MySQL索引条件下推(ICP)的使用有哪些限制”有一定的了解。想了解更多,请关注行业信息渠道。感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/66421.html

(0)

相关推荐

  • hou不住的hou怎么写,喜欢上吼不住的女人,该怎么办

    技术hou不住的hou怎么写,喜欢上吼不住的女人,该怎么办想要生气的时候忍一下hou不住的hou怎么写,过一下下你就会发觉,其实你不像刚开始的时候那么生气了。。生气的时候想一想,生气能不能解决了事情,而且生气带给自己的负

    生活 2021年10月24日
  • 什么是脱式计算二年级,小学二年级的脱式计算是什么意思

    技术什么是脱式计算二年级,小学二年级的脱式计算是什么意思脱式计算即递等式计算,把计算过程完整写出来的运算,也就是脱离竖式的计算什么是脱式计算二年级。 在学习竖式计算之后,会学习到混合运算等可以连续计算的式子,在计算混合运

    生活 2021年10月25日
  • 如何快速涨到1000粉丝,1000个抖音粉丝多少钱?

    技术如何快速涨到1000粉丝,1000个抖音粉丝多少钱?如何快速涨到1000粉丝?我们总结了一份抖音涨粉运营指南,希望能帮助大家突破1000粉丝,早日开通购物车!
    1、互粉互赞群
    最简单的方式是加一些抖音群,或专门用于互

    测评 2021年11月11日
  • 如何使用Spring Data Jpa查询全部并排序

    技术如何使用Spring Data Jpa查询全部并排序这篇文章将为大家详细讲解有关如何使用Spring Data Jpa查询全部并排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。S

    攻略 2021年11月21日
  • 火柴英文,火柴的发展历史是怎样的

    技术火柴英文,火柴的发展历史是怎样的火柴(英文名火柴英文:Match),也称“安全火柴”。根据记载最早的火柴是由中国人在公元577年发明的(一种引火的材料,不是火柴),当时是南北朝时期火柴,战事四起,北齐腹背受敌,物资短

    生活 2021年10月25日
  • Sqllibs 笔记

    技术Sqllibs 笔记 Sqllibs 笔记Sqllibs
    报错注入
    Background 1
    基础函数version()——MySQL 版本
    user()——数据库用户名
    database()——数

    礼包 2021年12月23日