gpt4 book ai didi

performance - PostgreSQL:在一个查询中多次调用同一个函数的最佳方式?

转载 作者:行者123 更新时间:2023-11-29 14:24:15 25 4
gpt4 key购买 nike

在 PostgreSQL 中,在同一查询中多次调用同一函数的最佳方法是什么?

例子:

SELECT a.id, 
sum_one(a.id) AS "Sum_one",
sum_two(a.id) AS "Sum_two",
(sum_one(a.id )+sum_two(a.id)) AS "Sum_three"
FROM a

其中 sum_one()sum_two() 是函数。我重复调用 sum_one()sum_two()。这会减慢大型数据库中的查询速度。

我想避免下面的语句。

(sum_one(a.id )+sum_two(a.id)) AS "Sum_three"

我如何在 PostgreSQL 中做到这一点?

最佳答案

您应该将函数的波动性设置为Stable

More about function volatility .

CREATE OR REPLACE FUNCTION myFunc(prm_MyParam integer)
RETURNS numeric AS
$BODY$
BEGIN
{...}

END;$BODY$
LANGUAGE plpgsql STABLE;

关于performance - PostgreSQL:在一个查询中多次调用同一个函数的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com