我有一个功能 get_sa001
and a view Axis_RefCustomer
.
当我get_sa001
在一段时间内单独执行我的函数时,比如说 2016 - 2017,执行时间约为 6 秒。
SELECT d."Selling_date", d."Value_in_EUR", d."Value_in_currency", d."Site"
FROM report.get_sa001('2016-01-01'::date, '2017-03-31'::date, 32) AS d
Run Code Online (Sandbox Code Playgroud)
当我在视图上执行选择时Axis_RefCustomer
,它运行大约 1 秒。
Select a."Selling_currency" FROM report."Axis_RefCustomer" AS a
Run Code Online (Sandbox Code Playgroud)
当我将它们连接在一起时,执行时间约为 39 秒!
SELECT d."Selling_date",
a."Selling_currency",
d."Value_in_EUR",
d."Value_in_currency",
d."Site"
FROM report.get_sa001('2016-01-01'::date, '2017-03-31'::date, 32) AS d
LEFT JOIN report."Axis_RefCustomer"
AS a ON d."Site" = a."Site"
AND d."Internal_reference" = a."Reference_internal"
AND d."Customer_code" = a."Customer_code"
Run Code Online (Sandbox Code Playgroud)
Is there anyway to reduce the amount of time my query …