百木园-与人分享,
就是让自己快乐。

数仓性能调优:如何进行函数下推

摘要:本文主要描述下函数在满足特征的前提下可以把函数属性定义为下推属性。

本文分享自华为云社区《GaussDB(DWS)性能调优:函数下推》,作者:譡里个檔 。

DWS作为MPP架构的数仓产品,其性能优势主要在分布式计算上。默认情况下,DWS为了保证结果的正确性,自定义函数默认属性是不下推的,这会导致计算不下推,从而导致比较验证的性能问题。本文主要描述下函数在满足特征的前提下可以把函数属性定义为下推属性。

在展开介绍之前,我们先介绍一下DWS里面函数的几个属性

易变属性

数仓性能调优:如何进行函数下推数仓性能调优:如何进行函数下推

下推属性

数仓性能调优:如何进行函数下推

查询自定义的不下推函数

SELECT
 oid::regproc AS proname,
    (pg_get_functiondef(oid)).definition
FROM pg_proc
WHERE proshippable = false AND oid > 16384;

总结

函数下推要首先满足以下

  1. 函数的易变属性为IMMUTABLE和STABLE
  2. 函数的下推属性设置为SHIPPALE

可以在函数定义的时候指定SHIPPALE属性,可以通过ALTER语句修改函数的下推属性

数仓性能调优:如何进行函数下推

 

点击关注,第一时间了解华为云新鲜技术~


来源:https://www.cnblogs.com/huaweiyun/p/16799307.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 数仓性能调优:如何进行函数下推

相关推荐

  • 暂无文章