dongtu4028 2018-11-29 13:13
浏览 68

Oracle PL / SQL Developer,PHP Laravel性能差异

I have a Laravel app that generates reports about ~3k rows from an oracle 11g db server to work on a legacy system. My colleague also happens to have an asp.net app for another report. Both of us sometimes experience crashing when generating our reports but when I generate my report through PL/SQL Developer it only takes 3-10 mins while laravel takes 10m-1hr response time. I tried at the best of my knowledge to resolve it like provisioning 3gb of memory limit but its no use.

How do I find the root cause of this problem?

Laravel 7 x86

OCI 11g

EDIT..

I use the same query to run in my laravel app and in PL/SQL Developer.

UPDATE..

Here's the query I am having trouble with.

SELECT *
    FROM (select 'LOANS' MODULE,
                 a.branchid,
                 a.loanno AGREEMENTID,
                 NULL ACCOUNTID,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINLEA.FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                b,
                 FV_FINLEA.NBFC_VOUCHER_HDR          H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND A.MODULEID = 'LEA'
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'LOANS' MODULE,
                 a.branchid,
                 a.loanno AGREEMENTID,
                 NULL ACCOUNTID,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINLEA.FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                b,
                 FV_FINTLR.NBFC_VOUCHER_HDR          H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND A.MODULEID = 'TLR'
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'SD' MODULE,
                 a.branchid,
                 NULL AGREEMENTID,
                 a.accountid,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINDEP.FD_FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                   b,
                 FV_FINDEP.NBFC_VOUCHER_HDR             H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND EXISTS
           (SELECT 1
                    FROM FV_FINDEP.SD_DEPOSIT_M C
                   WHERE A.ACCOUNTID = C.ACCOUNTID)
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'SD' MODULE,
                 a.branchid,
                 NULL AGREEMENTID,
                 a.accountid,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINDEP.FD_FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                   b,
                 FV_FINTLR.NBFC_VOUCHER_HDR             H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND EXISTS
           (SELECT 1
                    FROM FV_FINDEP.SD_DEPOSIT_M C
                   WHERE A.ACCOUNTID = C.ACCOUNTID)
             AND A.MODULEID = 'TLR'
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'FD' MODULE,
                 a.branchid,
                 NULL AGREEMENTID,
                 a.accountid,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINDEP.FD_FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                   b,
                 FV_FINDEP.NBFC_VOUCHER_HDR             H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND EXISTS
           (SELECT 1
                    FROM FV_FINDEP.FD_DEPOSIT_M C
                   WHERE A.ACCOUNTID = C.ACCOUNTID)
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'FD' MODULE,
                 a.branchid,
                 NULL AGREEMENTID,
                 a.accountid,
                 a.voucherid,
                 a.voucherdate,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 A.NARRATION
            from FV_FINDEP.FD_FINAL_VOUCHER_BREAKUP_DTL a,
                 FV_CASM.fa_groupgl_m                   b,
                 FV_FINTLR.NBFC_VOUCHER_HDR             H
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = H.VOUCHERID
             AND A.BRANCHID = H.BRANCHID
             AND EXISTS
           (SELECT 1
                    FROM FV_FINDEP.FD_DEPOSIT_M C
                   WHERE A.ACCOUNTID = C.ACCOUNTID)
             AND A.MODULEID = 'TLR'
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'TLR' MODULE,
                 a.branchid,
                 NULL AGREEMENTID,
                 NULL ACCOUNTID,
                 A.VOUCHERID,
                 A.VOUCHERDATE,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 F.NARRATION
            from FV_FINTLR.nbfc_voucher_dtl A,
                 FV_CASM.fa_groupgl_m       b,
                 FV_FINTLR.NBFC_VOUCHER_HDR F
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = F.VOUCHERID
             AND A.BRANCHID = F.BRANCHID
             and a.status IN ('A', 'P')
             and not exists (select 1
                    from FV_FINDEP.fd_final_voucher_breakup_dtl E
                   where a.voucherid = E.voucherid
                     AND A.BRANCHID = E.BRANCHID)
             and not exists
           (select 1
                    from FV_FINLEA.final_voucher_breakup_dtl E1
                   where a.voucherid = E1.voucherid
                     AND A.BRANCHID = E1.BRANCHID)
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
          UNION ALL
          select 'FA' MODULE,
                 A.BRANCHID,
                 NULL AGREEMENTID,
                 NULL ACCOUNTID,
                 A.VOUCHERID,
                 A.VOUCHERDATE,
                 b.groupglid,
                 b.groupgldesc,
                 a.dramt,
                 a.cramt,
                 G.NARRATION
            from FV_FINFA.FA_voucher_dtl a,
                 FV_CASM.fa_groupgl_m    b,
                 FV_FINFA.FA_VOUCHER_HDR G
           where a.groupglid = b.groupglid
             AND A.VOUCHERID = G.VOUCHERID
             AND A.BRANCHID = G.BRANCHID
             and a.status IN ('A', 'P')
             AND A.MODULEID = 'FA'
             AND A.VOUCHERDATE =
                 (SELECT CURRENTDATE FROM FV_FINSEC.NBFC_PARAMETER_M)
             AND G.APPROVEDBY IS NOT NULL) XXX
   WHERE XXX.BRANCHID = 2--ENTER BRANCHID HERE
   ORDER BY XXX.BRANCHID, XXX.MODULE, XXX.VOUCHERDATE, XXX.VOUCHERID
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 Matlab怎么求解含参的二重积分?
    • ¥15 苹果手机突然连不上wifi了?
    • ¥15 cgictest.cgi文件无法访问
    • ¥20 删除和修改功能无法调用
    • ¥15 kafka topic 所有分副本数修改
    • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
    • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
    • ¥40 串口调试助手打开串口后,keil5的代码就停止了
    • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
    • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档