我對 PostgreSQL 實體的查詢需要很長時間才能檢索結果。此查詢在我們的應用程式代碼中每 30 分鐘運行一次。
select fgh_dk,
(select dmb
from fgh_tonee
where id=fgh_dk),
ghk_nm,
SUM(hjlm_sup) as mgh_klmno
from yunm
where fgh_dk is not null
group by fgh_dk, ghk_nm
order by fgh_dk,ghk_nm;
請建議我們重寫此查詢的最佳方法。
uj5u.com熱心網友回復:
EXPLAIN (ANALYZE, BUFFERS)通常,如果不看到輸出,就永遠無法回答此類問題。但是如果你取消子查詢,你的查詢一定會執行得更好:
select yunm.fgh_dk,
fgh_tonee.dmb,
yunm.ghk_nm,
SUM(yunm.hjlm_sup) as mgh_klmno
from yunm
left join fgh_tonee
on fgh_tonee.id = yunm.fgh_dk
where yunm.fgh_dk is not null
group by yunm.fgh_dk, yunm.ghk_nm, fgh_tonee.dmb
order by yunm.fgh_dk, yunm.ghk_nm, fgh_tonee.dmb;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/536549.html
