在讲ICP和MRR之前,我们先了解一下MySQL的架构。于本文的重点并不在架构细节上,所以让我们直接看关键部分,存储引擎作为单独的一层,是连接底层存储系统和上层server其他部分的桥梁,而MySQL对存储引擎的抽象也极大地丰富了其可扩展性。

ICP

我们平时需要查询和写入的数据最终的存储介质都是底层的文件系统,而数据的传输必然要经过上面说到的两个部分。就好像我们将单体服务切分成微服务一样,如果我们需要从另一个服务取数据,需要由对方服务查询DB,然后通过网络再传输给自己。查询DB的过程也是一种网络传输,所以这里的数据其实经过了两次网络传输,相比直接查询查询DB增加了一倍的网络消耗。这是微服务切分后带来的代价,那有没有其他的途径可以减少这种消耗呢?

如果我实际需要10条数据,但每次都获取100条数据后自己执行过滤,那两次网络传输的都是100条;如果由对方服务进行过滤,则其中一次网络只需传输10条;更甚者,如果对方查DB直接只查10条,那两次网络传输都是10条。

ICP(Index Condition Pushdown)就是利用了类似的原理来达到性能优化的。举个

mysql using mrr_优化的道路永无止境——Mysql的ICP及MRR相关推荐

  1. mysql 一对多 根据多条数据排序_优化的道路永无止境——Mysql的ICP及MRR

    在讲ICP和MRR之前,我们先了解一下MySQL的架构.于本文的重点并不在架构细节上,所以让我们直接看关键部分,存储引擎作为单独的一层,是连接底层存储系统和上层server其他部分的桥梁,而MySQL ...

  2. mysql 5.7优化不求人_《MySQL 5.7优化不求人》直播精彩互动

    原标题:<MySQL 5.7优化不求人>直播精彩互动 昨晚的CSDN学院直播没错过吧? 叶老师准备了40+页PPT,直播中更是旁征博引 细致认真地讲解了MySQL 5.7的优化秘籍 小伙伴 ...

  3. MySQL线上优化_线上MySQL千万级大表,如何优化?

    前段时间应急群有客服反馈,会员管理功能无法按到店时间.到店次数.消费金额进行排序.经过排查发现是 SQL 执行效率低,并且索引效率低下. 图片来自 Pexels 应急问题 商户反馈会员管理功能无法按到 ...

  4. MySQL查询性能优化七种武器之索引下推

    前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下: MySQL查询性能优化七种武器之索引潜水 MySQL查询性能优化七种武器之链路追踪 今天要讲的是MySQL的另一种查询性能优化方式 ...

  5. MySql+Mybatis+Druid 优化之MyBatis批量删除、更新

    业务需求:一次更新/删除多条数据,通常有两种方式: (1)在业务代码中循环遍历,逐条删除,业务清晰: (2)在sql语句中,循环删除,只操作一次数据库,这个分为两种方式: 方式A:通过循环一个id列表 ...

  6. mysql所有班级名称和人数_mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)...

    mysql数据库优化课程---12.mysql嵌套和链接查询(查询user表中存在的所有班级的信息?) 一.总结 一句话总结: in:distinct:select * from class wher ...

  7. tcmalloc mysql 缓存_Tcmalloc优化Mysql内存管理

    实验环境: OS:Redhat 5.3 64bit Mysql:mysql 5.5.29 TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能, ...

  8. MySQL:数据库优化,看这篇就够了

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:赵栩彬 segmentfault.com/a/1190000 ...

  9. MySQL进阶SQL优化

    MySQL进阶SQL优化 查询效率分析: 子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询.在这种情况下可以考虑用联接查询来取代. 如果要用子查询,那就用EXISTS替代IN.用NOT ...

最新文章

  1. slb健康检查方式_SLB健康检查也是“正常”-问答-阿里云开发者社区-阿里云
  2. 17岁高中生独立开发全球最火疫情追踪网站
  3. 更改日志级别_如何在运行时更改日志记录级别
  4. 原生开发什么意思_什么是原生开发?什么是混合开发?两者有什么区别?
  5. [导入]MsAjax Lib- Date.parseInvariant 函数
  6. 面试官:问点基础,说说Object类下面有几种方法呢?
  7. 母机修改了文件,虚拟机复制到的可能不是预期的
  8. win7 计算机定时关机脚本,w7系统定时关机命令如何设置_w7电脑怎样设置定时关机...
  9. UCINET软件使用简介 ——主菜单功能简介1
  10. Verilog 语法合集
  11. 由膳食纤维选择性促进的肠道细菌缓解二型糖尿病
  12. linux文件fflush,Linux fflush 与 fsync的区别
  13. 社交电商平台的消费返利模式——共享购
  14. python-华为路由器交换机批量处理ip与mac绑定
  15. NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作
  16. 腾讯位置大数据中区域热力图数据的数据解析
  17. 传奇世界最好的版本:
  18. php编写古诗,古诗写作方法集锦
  19. shell命令查阅端口信息_Linux服务器管理Shell经典命令
  20. 永磁同步电机矢量控制电流环参数整定方法----Matlab controlSystemDesigner的使用

热门文章

  1. 离线情况将镜像文件作为yum源一步安装gcc等库包解决依赖问题
  2. 思维导图 XMind 8 Update 8 破解一键安装版
  3. opencv3 java开发手册_介绍一本opencv不错的书-OpenCV3使用Java开发手册
  4. java 点聚weboffice_对点聚weboffice插件的使用说明
  5. python的文本编辑器atom_Python开发工具Atom
  6. word涂改涂掉图片_Word对图形照片处理的几个小技巧,很少人知道!
  7. mysql口径,分析跑数口径与表内在关系逻辑
  8. 门禁系统中的综合布线应用
  9. 学习笔记lalala
  10. 有了3Dfind.it零部件搜索引擎,再不用重复画CAD零件图了