Quantcast
Channel: SCN : Discussion List - SAP on Oracle
Viewing all articles
Browse latest Browse all 1892

sql query with parameters executing for long time on oracle 11g

$
0
0

Hi,

I have a query which is executing with in a second if i dont give parameters in it. but when i include parameters, it is taking more than half an hour to display result. I tried by replacing subqueries with views, but the performance is same with both subqueries and views. So please help me on how to execute this query fast.

 

 

 

SELECT

   DPRDC.CATE_NAME                    "LOB", 
MPRD.PRODUCT_NAME                  "Product",

MPOLG.PLAN_GROUP_NAME              "Plan Group",

MPLN.PLAN_NAME                     "Plan",

Limited_SI                         "Count of Policies",

FAILED_PREM                        "Sum of total Premium",

Unlimited_SI                       "Count of Policies (U SI)",--(Unlimited SI)",

PASSED_PREM                        "Sum of total Premium (U SI)",--(UnlimitedSI)",

 

 

 

 

 

FROM

  M_POLICY MPOL

JOIN D_PRODUCT_CATEGORY DPRDC

       ON DPRDC.CATE_ID=MPOL.PRODUCT_CATE_ID

  JOIN M_PRODUCT MPRD

  ON MPRD.PRODUCT_ID=MPOL.PRODUCT_ID

JOIN M_INSURED MI

  ON MI.POLICY_ID=MPOL.POLICY_ID

JOIN M_PLAN MPLN

ON MPLN.PLAN_ID=MI.PLAN_ID

JOIN M_PLAN_GROUP MPOLG

ON MPOLG.PLAN_GROUP_ID=MI.PLAN_GROUP_ID

 

LEFTJOIN (SELECT M.PRODUCT_ID AS PRODUCTID,                   
MI.PLAN_GROUP_ID
AS PLANGROUPID,

MI.PLAN_ID AS PLANID,

SUM(PASSED)AS UNLIMITED_SI,          

    SUM(FAILED) AS  LIMITED_SI         

FROM M_POLICY_COVER MPC, M_POLICY
M, M_INSURED MI,

 

(SELECT
F.POLICY_NO POLICYNO,

  COUNT(DISTINCT (CASEWHEN F.GROSS_WRITTEN_PREM_TCUR=0.25THEN POLICY_NO END)) AS PASSED,

CASEWHENCOUNT(DISTINCT (CASEWHEN F.GROSS_WRITTEN_PREM_TCUR=0.25THEN POLICY_NO END))=0

THEN1ELSE0ENDAS FAILED

  FROM F_PREM_TRANS F

   GROUPBY                  
F.POLICY_NO)

   WHERE
POLICYNO=M.POLICY_NO                

   AND M.POLICY_ID=MPC.POLICY_ID(+)

  AND MI.INSURED_ID=MPC.INSURED_ID

   GROUPBY
M.PRODUCT_ID,MI.PLAN_GROUP_ID,

              MI.PLAN_ID

ORDERBY
M.PRODUCT_ID,MI.PLAN_GROUP_ID,

MI.PLAN_ID

)

  ON PLANID=MPLN.PLAN_ID

AND PRODUCTID=MPRD.PRODUCT_ID

AND
PLANGROUPID=MPOLG.PLAN_GROUP_ID

 

 

LEFTJOIN (SELECT B.PRODUCT_ID AS PRODUCTID2,

MI.PLAN_GROUP_ID AS PLANGROUPID2,

MI.PLAN_ID AS PLANID2,

SUM(B.GROSS_WRITTEN_PREM_TCUR) AS PASSED_PREM

FROM

(SELECTCASEWHEN PASSED=1THEN POLICYNO ENDAS PASSED_POL  FROM

(SELECT F.POLICY_NO
POLICYNO,

COUNT(DISTINCT (CASEWHEN F.GROSS_WRITTEN_PREM_TCUR=0.25THEN POLICY_NO END)) AS PASSED

FROM
F_PREM_TRANS F 

   GROUPBY

F.POLICY_NO)

) A,F_PREM_TRANS B,M_INSURED MI

   WHERE
(B.POLICY_NO=A.PASSED_POL)

   AND
MI.INSURED_ID=B.INSURED_HID

GROUPBY
B.PRODUCT_ID,MI.PLAN_GROUP_ID,

MI.PLAN_ID

  ORDERBY
B.PRODUCT_ID,MI.PLAN_GROUP_ID,

MI.PLAN_ID)

ON
PLANID2=MPLN.PLAN_ID

AND
PLANGROUPID2=MPOLG.PLAN_GROUP_ID

  AND
PRODUCTID2=MPRD.PRODUCT_ID

 

 

   LEFTJOIN (SELECT B.PRODUCT_ID AS PRODUCTID3,

MI.PLAN_GROUP_ID AS PLANGROUPID3,

MI.PLAN_ID AS PLANID3,

SUM(B.GROSS_WRITTEN_PREM_TCUR)AS
FAILED_PREM

  FROM

SELECTCASEWHEN FAILED=1THEN POLICYNO ENDAS FAILED_POL  FROM

(SELECT F.POLICY_NO POLICYNO,

CASEWHENCOUNT(DISTINCT (CASEWHEN F.GROSS_WRITTEN_PREM_TCUR=0.25THEN POLICY_NO END))=0

THEN1ELSE0ENDAS FAILED

FROM
F_PREM_TRANS F 

  GROUPBY

F.POLICY_NO)

) A,F_PREM_TRANS B,M_INSURED MI

      WHERE
(B.POLICY_NO=A.FAILED_POL)

                      AND
MI.INSURED_ID=B.INSURED_MID

  GROUPBY
B.PRODUCT_ID,MI.PLAN_GROUP_ID,

  MI.PLAN_ID

ORDERBY
B.PRODUCT_ID,MI.PLAN_GROUP_ID,

MI.PLAN_ID)

ON
PLANID3=MPLN.PLAN_ID

AND
PLANGROUPID3=MPOLG.PLAN_GROUP_ID

AND
PRODUCTID3=MPRD.PRODUCT_ID

 

  WHERE

DPRDC.CATE_NAME IN&p_lob --'Plus'

AND MPRD.PRODUCT_NAME IN&p_product  --'Maid Insurance'

AND MPOLG.PLAN_GROUP_NAME IN&p_plan_group  --'Abnormal'

AND MPLN.PLAN_NAME IN&p_plan  --'Standard'

 

 

 

GROUPBY

DPRDC.CATE_NAME,

MPRD.PRODUCT_NAME,

MPOLG.PLAN_GROUP_NAME,

MPLN.PLAN_NAME,

MPLN.PLAN_ID,

Unlimited_SI,

Limited_SI,

FAILED_PREM,

PASSED_PREM,

 

 

 

ORDERBY

DPRDC.CATE_NAME,

MPRD.PRODUCT_NAME,

MPOLG.PLAN_GROUP_NAME,

MPLN.PLAN_NAME

 

 

  


Viewing all articles
Browse latest Browse all 1892

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>