我正在使用 Oracle 11.2 ,并且在游标中有一个select
语句,该语句返回约500行。如果我自己运行选择,则需要20到30秒。
当我执行FETCH <CUR> BULK COLLECT INTO ...
时,大约需要40分钟才能执行。我可能会做什么或做错了什么的想法可能有助于加快速度?
SELECT m.G_ID, m.S_ID, m.D_ID, m.YYYY, m.MM, m.MIN_DAY, m.MAX_DAY, m.BALANCE, TOTAL_Balance
,FNC_GET_OPEN_TRANACTION_COUNT(mm.G_ID, m.S_ID, m.D_ID) TCOUNT
,FNC_GET_LAST_BALANCE(m.G_ID, m.S_ID, m.D_ID) LAST_BALANCE
,FNC_GET_MAX_TDATE(ms.G_ID, m.S_ID, m.D_ID, 'F') as Max_Date
FROM VEW_MONTHLY m,
VEW_OPEN_NEG_GSDS o
WHERE TOTAL_Balance < 0 and
on m.G_ID = o.g_ID and m.S_ID = o.s_ID and m.D_ID = o.d_Id