开发者社区 > 数据库 > 正文

POLARDB基于直方图实现了哪些计算和优化?

POLARDB基于直方图实现了哪些计算和优化?

展开
收起
游客x3a254b44ahsk 2022-05-14 08:20:54 1660 0
1 条回答
写回答
取消 提交回答
  • 1、POLARDB大量基于改良的直方图进行代价估算,比如估算表和表join的结果大小,是join代价和join order优化的决定性因素,而MySQL只能根据经验公式粗略的估算。 2、在POLARDB中使用直方图对重合部分进行合并计算,并根据不同的直方图类型适配不同的estimation算法,大大提高了估算精度,帮助优化器做出更优的join order选择。在随机生成的正态分布数据测试中,多表联合查询优化后可提速2.4-12倍,TPC-H测试中多个查询的join order发生变化,性能提升77%-332%。 3、POLARDB也使用直方图优化了record_in_range的逻辑,MySQL对于有索引的过滤条件采用index dive来估算区间的记录数,这个操作在OLTP短查询中CPU占比较高。在使用基于直方图估算替换index dive后,在淘宝电商核心业务中,绝大多数的查询查询响应时间减少一半。

    2022-05-14 15:26:04
    赞同 展开评论 打赏

数据库领域前沿技术分享与交流

相关产品

  • 云原生数据库 PolarDB
  • 相关电子书

    更多
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
    2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
    2023云栖大会:PolarDB for AI 立即下载