MRR和ICP:今日icp许可证资质更新-寅森企服

MRR和ICP


更新时间:2025-04-28 19:23
发布:2023-02-08 编辑:祁晓夏 浏览:8878
摘要:MRR和ICP,MRR和ICP,寅森企服网为您介绍MRR和ICP,MRR和ICP的相关内容介绍,欢迎您收藏本站以便日后快速找MRR和ICP的精华内容。

MRR和ICP

大家好,祁晓夏来为大家解答MRR和ICP的相关ICP许可证知识。MRR和ICP很多人还不知道,现在让我们一起来看看吧!

MRR和ICP

MRR和ICP

  • Multi-Range Read优化
  • ICP索引下推优化

根据二级索引定位到的一批记录,对应的主键集合是无序的,根据这个无序主键集合回到聚簇索引进行查询,显然会产生大量的随机IO,为了降低随机IO带来的损耗,可以考虑先对主键集合进行排序,这样再根据主键集合进行回表查询,就能尽可能产生的是顺序IO了。

MRR优化有以下几个好处:

  • MRR使数据访问变得较为顺序。在查询辅助索引时,首先根据得到的查询结果,按照主键进行排序,并按照主键排序的顺序进行书签查找
  • 减少缓冲池中页被替换的次数。
  • 批量处理对键值的查询操作。

对于InnoDB和MyISAM存储引擎的范围查询和JOIN查询操作,MRR的工作方式如下:

  • 将查询得到的辅助索引键值存放于一个缓存中,这时缓存中的数据是根据辅助索引键值排序的。
  • 将缓存中的键值根据RowID进行排序。
  • 根据RowID的排序顺序来访问实际的数据文件。

此外,若InnoDB存储引擎或者MyISAM存储引擎的缓冲池不是足够大,即不能存放下一张表中的所有数据,此时频繁的离散读操作还会导致缓存中的页被替换出缓冲池,然后又不断地被读入缓冲池。若是按照主键顺序进行访问,则可以将此重复行为降到最低。

如下面这条sql语句:

若启用了Mulit-Range Read特性,则除了会在列Extra看到Using index condition外,还会看见Using MRR选项。

倘若启用了Multi_Range Read优化,优化器会先将查询条件进行拆分,然后再进行数据查询。就上述查询语句而言,优化器会将查询条件拆分为(2,1), (3, 1), . . . , (19, 1),最后再根据这些拆分出的条件进行数据的查询。

通过将查询条件进行拆分,可以避免取出大量无用的数据。


ICP索引下推优化

Multi_Range Read—样, Index Condition Pushdown 同样是 MySQL 5.6 开始支持的种根据索引进行查询的优化方式。

之前的MySQL数据库版本不支持Index. ConditionPushdown,当进行索引查询时,首先根据索引来查找记录,然后再根据WHERE条件来过滤记录。

在支持Index Condition Pushdown后, MySQL数据库会在取出索引的同时,判断是否可以进行WHERE条件的过滤,也就是将WHERE的部分过操作放在了存储引擎层。在某些查询下,可以大大减少上层SQL层对记录的索取(fetch),从而提高数据库的整体性能。

Index Condition Pushdown 优化支持 range, ref, eq_ref, ref_or_null 类型的查询,当前支持MyISAMInnoDB存储引擎。当优化器选择Index Condition Pushdown优化时,可在执行计划的列Extra看到Using index condition提示,

当然,Where可以过滤的条件是要该索引可以覆盖到的范围。


本文到此结束,希望对大家有所帮助。


特别声明:本文来自网络或网友投稿,部分图片和文字来源于网络收集整理,仅供学习交流,版权归原作者所有,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除;邮箱:1091218940@qq.com


Tag:

本页标题:MRR和ICP


本页链接:http://cn.dfyuhang.com/icp/61.html

寅森508网
QQ在线咨询
客服咨询
微信号
1091218940
请您留言

留言通道

在线咨询

Online Consulting