暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL架构在AP场景的缺陷

芬芳 2023-09-13
129

MySQL架构在执行复杂查询时性能差有多个方面的原因。对比专用的OLAP系统,其性能瓶颈体现在以下方面:

  • MySQL的SQL执行引擎基于流式迭代器模型(Volcano Iterator)实现。该架构在工程实现上依赖大量深层次的嵌套函数及虚函数,在处理海量数据时,这种架构会影响CPU流水线的Pipeline效率,导致CPU Cache效率低下。同时,Iterator执行模型也无法充分使用CPU提供的SIMD指令来做执行加速。
  • 执行引擎只能串行执行,无法发挥多核CPU的并行能力。官方从MySQL 8.0开始,在count(*)等基本查询上增加了并行执行能力,但构建复杂SQL语句的并行执行能力依然任重道远。
  • MySQL最常用的存储引擎都是按行存储,在按列进行海量数据分析时,按行从磁盘读取数据存在非常大的IO带宽浪费。其次,行式存储格式在处理大量数据时会大量拷贝不必要的列数据,对内存读写效率也存在冲击。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论