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

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

展开
收起
游客x3a254b44ahsk 2022-05-14 08:20:54 1689 分享 版权
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
    赞同 展开评论