iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >MySQL Index Condition Pushdown(ICP)的使用限制有哪些
  • 728
分享到

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

2024-04-02 19:04:59 728人浏览 安东尼
摘要

小编给大家分享一下Mysql Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ICP(index condition

小编给大家分享一下Mysql Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

ICP(index condition pushdown)是mysql利用索引(二级索引)元组和筛字段在索引中的where条件从表中提取数据记录的一种优化操作。ICP的思想是:存储引擎在访问索引的时候检查筛选字段在索引中的where条件(pushed index condition,推送的索引条件),如果索引元组中的数据不满足推送的索引条件,那么就过滤掉该条数据记录。ICP(优化器)尽可能的把index condition的处理从server层下推到storage engine层。storage engine使用索引过过滤不相关的数据,仅返回符合index condition条件的数据给server层。也是说数据过滤尽可能在storage engine层进行,而不是返回所有数据给server层,然后后再根据where条件进行过滤。

Index Condition Pushdown (ICP)是Mysql 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。

a 当关闭ICP时,index 仅仅是data access 的一种访问方式,存储引擎通过索引回表获取的数据会传递到MySQL Server 层进行where条件过滤。

b 当打开ICP时,如果部分where条件能使用索引中的字段,MySQL Server 会把这部分下推到引擎层,可以利用index过滤的where条件在存储引擎层进行数据过滤,而非将所有通过index access的结果传递到MySQL server层进行where过滤.

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

ICP 开启时 ,MySQL将在存储引擎层 利用索引过滤数据,减少不必要的回表,注意 虚线的using where 表示如果where条件中含有没有被索引的字段,则还是要经过MySQL Server 层过滤。

 ICP的使用限制:

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

2 支持InnoDB和MyISAM表。

3 ICP只能用于二级索引,不能用于主索引。

4 并非全部where条件都可以用ICP筛选。

   如果where条件的字段不在索引列中,还是要读取整表的记录到server端做where过滤。

5 ICP的加速效果取决于在存储引擎内通过ICP筛选掉的数据的比例。

6 5.6 版本的不支持分表的ICP 功能,5.7 版本的开始支持。

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

看完了这篇文章,相信你对“MySQL Index Condition Pushdown(ICP)的使用限制有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL Index Condition Pushdown(ICP)的使用限制有哪些

本文链接: https://www.lsjlt.com/news/62781.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL Index Condition Pushdown(ICP)的使用限制有哪些
    小编给大家分享一下MySQL Index Condition Pushdown(ICP)的使用限制有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ICP(index condition...
    99+
    2024-04-02
  • 使用 MySQL 视图有哪些限制?
    尽管使用视图有多种好处,但使用 MySQL 视图仍存在以下限制 - 无法创建视图视图索引 - 在 MySQL 中,我们无法在视图上创建索引。这是因为当我们针对视图查询数据时,没有使用索引。 MySQL 会使视图无效 - 假设,如果我们删除或...
    99+
    2023-10-22
  • MySQL ENUM 有哪些限制?
    以下是 MySQL ENUM 的限制 -枚举值不能是表达式我们不能使用表达式作为枚举成员,即使是计算结果为字符串值的表达式。示例例如,我们甚至可以使用 CONCAT 函数这会导致对字符串进行求值。以下查询将不起作用 -mysql> c...
    99+
    2023-10-22
  • MySQL列长度限制有哪些
    本篇文章给大家分享的是有关MySQL列长度限制有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  超长SQL怎么查询  max_packe...
    99+
    2024-04-02
  • MySQL单表的大小有哪些限制
    本篇内容介绍了“MySQL单表的大小有哪些限制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  MySQL...
    99+
    2024-04-02
  • MySQL 5.7组复制的要求和限制有哪些
    这期内容当中小编将会给大家带来有关MySQL 5.7组复制的要求和限制有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 限制和要求:1....
    99+
    2024-04-02
  • python中面向对象的使用限制有哪些
    这篇文章主要介绍python中面向对象的使用限制有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Pytho...
    99+
    2023-06-14
  • mysql中oak-online-alter-table和pt-online-schema-change的使用限制有哪些
    小编给大家分享一下mysql中oak-online-alter-table和pt-online-schema-change的使用限制有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大...
    99+
    2024-04-02
  • MySQL中Index失效的情况有哪些
    数据分布不均匀:如果数据在索引列上的分布不均匀,会导致索引失效,因为MySQL会在索引树上不断地进行查找,当数据分布不均匀时,可...
    99+
    2024-04-23
    mysql
  • mysql中的权限有哪些
    本篇内容主要讲解“mysql中的权限有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中的权限有哪些”吧! mysql权...
    99+
    2024-04-02
  • SQLite添加列的限制有哪些
    这篇文章主要为大家展示了“SQLite添加列的限制有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQLite添加列的限制有哪些”这篇文章吧。SQLite添...
    99+
    2024-04-02
  • MySQL的权限名称有哪些
    这篇文章主要讲解了“MySQL的权限名称有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL的权限名称有哪些”吧! ...
    99+
    2024-04-02
  • Linux中限制用户访问权限的方法有哪些
    这篇文章主要介绍“Linux中限制用户访问权限的方法有哪些”,在日常操作中,相信很多人在Linux中限制用户访问权限的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中限制用户访问权限的方法...
    99+
    2023-06-13
  • MySQL数据库创建内存表有哪些限制
    这篇文章主要讲解了“MySQL数据库创建内存表有哪些限制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库创建内存表有哪些限制”吧!  当内存表...
    99+
    2024-04-02
  • JavaScript严格模式的限制有哪些
    这篇“JavaScript严格模式的限制有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2024-04-02
  • docker限制内存的坏处有哪些
    使用Docker限制内存的主要坏处有以下几点: 性能问题:如果容器被限制在较小的内存空间内运行,可能会导致容器的性能下降。当容器...
    99+
    2023-10-21
    docker
  • CSS中absolute与relative的限制有哪些
    这篇文章将为大家详细讲解有关CSS中absolute与relative的限制有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。relative对absolute的限制之一absolute,...
    99+
    2023-06-08
  • MySQL流程控制函数的使用方法有哪些
    这篇文章主要介绍“MySQL流程控制函数的使用方法有哪些”,在日常操作中,相信很多人在MySQL流程控制函数的使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL流程控制函数的使用方法有哪些...
    99+
    2023-06-22
  • MySQL复制的常用架构有哪些
    这篇文章主要介绍了MySQL复制的常用架构有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MySQL复制...
    99+
    2024-04-02
  • MySQL 中有哪些用户权限管理
    MySQL 中有哪些用户权限管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。容。  1.用户权限简介当我们创建过数据库用户后,还不能执行任何操作,需要...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作