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

什么是Partial Result Cache(PTRC)

芬芳 2023-06-26
228

PTRC是针对一个查询内部算子级别粒度的结果集缓存特性,比如缓存Correlated subquery或NestLoopJoin等算子执行的临时结果,后续再次执行该算子时,如果结果集缓存中已存在算子的计算结果,则无需再重复执行该算子。
PTRC中的Partial有两层含义:

  • PTRC缓存的不是整个查询的结果集,而是查询内部某个或某几个算子执行的中间结果集。
  • 并不一定缓存算子所有的中间结果集,而是根据内存限制可能只缓存部分中间结果集。
    相较于传统的Query Cache,PTRC的缓存粒度更小,是对查询内部某些算子进行加速,并且可以看出PTRC的生命周期也是跟随查询一起开始和结束。基于此,PTRC的适用范围会更广,因为只针对查询内部算子的优化,不存在跨节点查询时的数据一致性问题,只要一个算子符合要求(即算子执行时依赖的参数不变,执行结果也不会变)就可以使用PTRC,在选择PTRC时不仅需要遵循规则,还会基于代价来决策是否使用PTRC。
最后修改时间:2023-06-26 09:55:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论