我执行了一个查询,其中具有相同参数的相同函数多次出现。例如:
SELECT sum($1, $2) AS total, sum($1, $2) AS amount, sum($1, $2) AS result ...
是否可以将执行结果写入某个变量,以免每次都执行总和计算?例如,据我所知,在 MSSQL 中可以使用以下解决方案:
DECLARE @total INT
SET @total = SUM(1, 2)
如何在 PostgreSQL 中进行类似的查询?该函数sum()
只是一个示例。实际上,每次都在那里执行一个更“重”的功能,我想优化这一刻。
我假设在大多数情况下PostgreSQL调度 器足够聪明,可以理解相同数据的纯函数会产生相同的结果。但是,如果您真的需要,只需将所有内容包装在子查询中: