0

下面是我通过 Python 中的 Oracle API 传递给 Oracle 服务器的 SQL 字符串。我怀疑 listagg 函数是处理时间延长的原因。如果没有 listagg 函数,解析结果的时间不到以下 SQL 所需时间的一半。任何建议或修复都非常受欢迎。

SELECT to_char(a.transaction_dt, 'MM/DD/YYYY'), 
        a.sub_acct_nbr, 
        a.trn_ldgr_entr_desc, 
        a.fdoc_nbr, 
        a.fin_object_cd,
        a.fin_sub_obj_cd, 
        a.fin_obj_cd_nm, 
        b.explanation, 
        (select listagg(c.txt, ';') WITHIN GROUP (order by a.fdoc_nbr) from View3 c where a.fdoc_nbr = c.fdoc_nbr) Notes, 
        to_char(a.trn_ldgr_entr_amt, '9,999,999.99'), 
        a.trn_debit_crdt_cd
    FROM  View1 a
    LEFT OUTER JOIN View2 b
    ON  a.fdoc_nbr = b.doc_hdr_id
    WHERE   a.account_nbr = 123456
    AND     a.univ_fiscal_prd_cd = 12
    AND     (a.fin_object_cd BETWEEN '5000' AND '7999'
    OR      a.fin_object_cd BETWEEN '9902' AND '9905')
    ORDER BY a.transaction_dt;
4

0 回答 0