Query Creating DB Bottlenecks

Hi All,
I am facing performance issue with below query :
Select RequestResponseID, SORequestXml, SOPriority, SODelay, SOType, TRANSACTIONID from BATCH_REQUEST_RESPONSE  where ACKREC='N' and SOState='Created' and SourceAgentId=? and BatchUId in (select BatchUId from BATCH_METRICS where RequestSubmissionStatus='Completed' and OutputGenerationStatus <> 'Completed')and ROWNUM <= 5000  ORDER BY RequestResponseID
Here is the points of consideration.
In the table BATCH_REQUEST_RESPONSE  we have around 7 million records each having 3 fields (RowValue, SORequestXml and SOResponseXml) are of BLOB data type.
We have indexing on the column BatchUId. BATCH_REQUEST_RESPONSE   table has following indexex.
CREATE INDEX
MetricsResultIndx  ON BATCH_REQUEST_RESPONSE (BatchUId, SourceAgentId, BatchEnvName).
CREATE UNIQUE INDEX TransactionIdIndx ON BATCH_REQUEST_RESPONSE (TransactionId);
In the table BATCH_METRICS we have around 1000 records.
AWR report shows this query on top in terms of execution, physical reads, cpu time etc.
Please help us in providing the solution to make this query performance better.

Hi ,
PFB the execution plan:
PLAN_TABLE_OUTPUT
Plan hash value: 1765530150
| Id  | Operation | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT | |  5000 |   981K|       | 2448   (1)| 00:00:30 |
|   1 |  SORT ORDER BY | |  5000 |   981K|  2064K|  2448   (1)| 00:00:30 |
|*  2 |   COUNT STOPKEY | |       | | | |          |
|   3 |    NESTED LOOPS | |       | | | |          |
|   4 |     NESTED LOOPS | |  8981 |  1762K|       | 2050   (1)| 00:00:25 |
|*  5 | TABLE ACCESS FULL         | BATCH_METRICS |    52 |  1352 |       | 5   (0)| 00:00:01 |
PLAN_TABLE_OUTPUT
|*  6 | INDEX RANGE SCAN          | METRICSRESULTINDX      |  2422 |       |       | 1   (0)| 00:00:01 |
|*  7 |     TABLE ACCESS BY INDEX ROWID| BATCH_REQUEST_RESPONSE |   172 | 30100 |       |    39   (0)| 00:00:01 |
Predicate Information (identified by operation id):
   2 - filter(ROWNUM<=5000)
   5 - filter("OUTPUTGENERATIONSTATUS"<>'Completed' AND "REQUESTSUBMISSIONSTATUS"='Completed')
   6 - access("BATCHUID"="BATCHUID" AND "SOURCEAGENTID"='BA_PORT3RD')
   7 - filter("ACKREC"='N' AND "SOSTATE"='Created')
BATCH_METRICS we have around 1000 records and BATCH_REQUEST_RESPONSE has around 5 million records.
Please find the query again:
Select RequestResponseID, SORequestXml, SOPriority, SODelay, SOType, TRANSACTIONID fromBATCH_REQUEST_RESPONSE where ACKREC='N' and SOState='Created' and SourceAgentId='BA_PORT3RD' and BatchUId in (select BatchUId from BATCH_METRICS where RequestSubmissionStatus='Completed' and OutputGenerationStatus <> 'Completed')and ROWNUM <= 5000 ORDER BY RequestResponseID
Regards,
Unmesh

Similar Messages

  • Issue in query created on infoset - characterstic values are not displayed

    Hi,
    We have created a query based on an infoset(customized). In this query, values of only one object(sold-to-party) is not displayed. Where as for the same object, values are displayed in the other query created based on the respective ODS.
    note : Query based on infoset is alone not coming.
    This is the description of the error -
    System error in program CL_RSMD_RS and IF_RSMD_RS-READ_META_DATA-02. and it is showing (No entries found).
    And apart from that, the values of their respective attributes are also not displayed in the report.
    I even verified the object in RSA1 where data is available for that.
    Need Help to solve ....
    Regards,
    Chandru..

    Can any one answer for Issue-2. Even I am also facing the same.
    Thanks in Advance.

  • Query created in which system

    Hi All,
    How to find out the query created in which system like Dev or ACC or Prod.
    For ex. I want to find the queries directly created in Production.

    Hi,
    unfortunately there is no tool for that. So I think one way is to compare the content of table rszeltdir in both systems. Restrict the output on deftp = 'REP' and check the fields mapname and txtsh and txtlg. If you have the queries identified, check if they are assigned to a development class/packet in the productive system. If this is not the case, you have your candidates for deletion. You can then delete the queries using transaction rszdelete.
    regards
    Siggi
    PS: you may run rszdelete anyways, as you can check a box there for temporary objects only (those will be the ones in question)

  • How to transport a query created in system development to quality and prod?

    Hi All,
    I'd like to know ow to transport a query created in system development to quality and prod?
    Thanks

    Hi,
    Queries are not saved under any transport request.
    We would have to go to transaction sq02 and click on the 'Transport' button ( with truck icon).
    In the screen specify your query name, infoset name, and usergroup name and select the option 'Download'.
    Save the downloaded file on your desktop.
    In your quality or production system, go to SQ02 and click on teh same button,
    select 'Upload' and specify the name of the query, infoset and usergroup which you want to upload.
    Select the downloaded file.
    Select the option 'Overwritting allowed' as applicable.
    Thanks,
    Harini

  • Transporting a query created in system development to quality and prod ...

    Hi All,
    I'd like to know how to transport a query created in system development to quality and prod?
    Thanks

    From the menu on top in SQVI or SQ01 transactions, choose Query -> More functions -> Generate program.  Then choose Query -> More functions -> Display report name.  This report is an ABAP report (just like any other ABAP program).  Please check with an ABAPer if this report can be pushed into a Workbench Transport request, so you could then move it to QA and Prod.

  • BO( WEBI,QAAWS ) can't sustain bw query : create new calculate Key Figure ?

    BO( WEBI,QAAWS ) can't sustain bw query : create new calculate Key Figure ?
    I create three new calculate  Key Figure : TotalQty1,Rate1,TotalRate1  on bw query. Return values:
    TSAS defect1     Qty     TotalQty1     Rate1     TotalRate1
    weight inaccuracy     33.000     33.000     37.500 %     37.500 %
    poor function     10.000     43.000     11.364 %     48.864 %
    gap out of spec     9.000     52.000     10.227 %     59.091 %
    scratch  /crack/ dam     8.000     60.000     9.091 %     68.182 %
    broken glass/mat     5.000     65.000     5.682 %     73.864 %
    missing display     6.000     71.000     6.818 %     80.682 %
    assembly defect     4.000     75.000     4.545 %     85.227 %
    plastic deformed     4.000     79.000     4.545 %     89.773 %
    no function     4.000     83.000     4.545 %     94.318 %
    poor  printing     5.000     88.000     5.682 %     100.000 %
    But Create on universe  connect  to this bw query, I used QAAWS and WEBI to runat , TotalQty1,Rate1,TotalRate1   key figure values are Qty value, that is error:
    TSAS defect1     Qty     TotalQty1     Rate1     TotalRate1
    weight inaccuracy     33     33     33     33
    poor function     10     10     10     10
    gap out of spec     9     9     9     9
    scratch  /crack/ dam     8     8     8     8
    broken glass/mat     5     5     5     5
    missing display     6     6     6     6
    assembly defect     4     4     4     4
    plastic deformed     4     4     4     4
    no function     4     4     4     4
    poor  printing     5     5     5     5
    pho:
    BW QUERY: [http://space.itpub.net/attachments/2010/04/10339719_201004211645561.thumb.jpg|http://space.itpub.net/attachments/2010/04/10339719_201004211645561.thumb.jpg]
    WEBI:[http://space.itpub.net/attachments/2010/04/10339719_201004211637351.thumb.jpg|http://space.itpub.net/attachments/2010/04/10339719_201004211637351.thumb.jpg]
    QAAWS:[http://space.itpub.net/attachments/2010/04/10339719_201004211637591.thumb.jpg|http://space.itpub.net/attachments/2010/04/10339719_201004211637591.thumb.jpg]
    Why? BO can't sustain bw query : create new calculate Key Figure ?
    Who to figure out this question?
    Because I can't to do create new calculate Key Figure   in webi or Xcelsius ,So ,I create new calulate Key Figure  on BW QUERY.
    Thank you.
    BestRegards,
    Howard.
    Edited by: flying on Apr 21, 2010 10:48 AM

    HI Ingo,
        Didier Mazoue  say universe accept bw query Restricted KF and calculated KF :
       [ Restricted and calculation keyfigures| Restricted and calculation keyfigures]
       Why I create new Restricted KF and calculated KF for bw query, QAAWS,WEBI are can't return ok datas for new Restricted KF and calculated KF ?
      I create KF on Universe :
        select ued : <EXPRESSION>@Select (Key Figures\Qty)</EXPRESSION>   OR <EXPRESSION>SUM(@Select (Key Figures\Qty))</EXPRESSION>  
    parse error: Parse failed:Invalid definition(UNV0023)
       Thank you.
    Regards,
    Howard.
    Edited by: flying on Apr 23, 2010 6:00 AM

  • Can using query create aging report for GL Account

    Hi all expert,
    I have a challenge scenario which customer request print out aging report for the following GL Account.
    This is not a business partner account. However, customer want display like aging report.
    30 days aging report for the following GL accounts by projects:-
         i)     WIP (Work In Progress) account
         ii)     Accrued Revenue account
         iii)     Accrued Cost account
    Examples:
                            Current Balance       30 day   60 day  90 day   120 day
    Account  WIP         10000               2000        3000      5000     0
    Any idea or example given? If yes, can you provide a query here?
    Regards,
    Eric Tan

    Hi Eric
    In standard SAP Business One this is difficult as the reports are 2 dimensional. To achieve this you will need to write multiple select statements into a temporary table and then select the final result from the temp table. Here is a sample for you to test:
    USE [*DATABASE_NAME*]
    GO
    /****** Object:  StoredProcedure [dbo].[REPORT_NAME]    Script Date: 04/24/2009 13:17:21 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE proc [dbo].[*REPORT_NAME*]
    as
    set nocount on
    begin
    DECLARE @Day_no varchar(2)
    DECLARE @Month_no varchar(2)
    DECLARE @Year_no varchar(4)
    DECLARE @Start_Date Datetime
    SET @Day_no = DAY(GetDate())
    SET @Month_no = MONTH(GetDate())
    SET @Year_no = YEAR(GetDate())
    SET @Start_Date = @Year_No + '/' + @Month_no + '/' + @Day_no --  + '/' + @Year_No
    IF OBJECT_ID(N'tempdb..#CRDAGEING', N'U') IS NOT NULL
    drop table #CRDAGEING
    SELECT T0.[CardCode] AS [CardCode], T0.[CardName] AS [CardName], -T0.[Balance] AS [Balance], CAST(0 AS MONEY) AS [Current], CAST(0 AS MONEY) AS [1Week], CAST(0 AS MONEY) AS [2Weeks], CAST(0 AS MONEY) AS [3Weeks], CAST(0 AS MONEY) AS [4Weeks], CAST(0 AS MONEY) AS [5Weeks], CAST(0 AS MONEY) AS [6Weeks], CAST(0 AS MONEY) AS [Over6Weeks], CAST(0 AS MONEY) AS [Avg3Months], CAST (0 AS MONEY) AS [Onhand] INTO #CRDAGEING FROM OCRD T0 WHERE T0.[CardType] = 'S' -- and T0.[CardCode] <> '' --and T0.[DocDate] >= @FromDate AND T0.[DocDate] <= @ToDate
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0, 0, 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] <= @Start_Date GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0, 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] >= DATEADD(DAY,1,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,8,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,8,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,15,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,15,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,22,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,22,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,29,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,29,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,36,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, 0, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,36,@Start_Date) and T1.[DueDate] <= DATEADD(DAY,43,@Start_Date) GROUP BY T1.[ShortName]
    INSERT dbo.#CRDAGEING SELECT T1.[ShortName], NULL, 0, 0, 0, 0, 0, 0, 0, 0, -SUM(T1.[BalDueDeb] - T1.[BalDueCred]), 0, 0 FROM JDT1 T1, OCRD T2 WHERE T2.[CardType] = 'S' and T2.[CardCode] = T1.[ShortName] and T1.[DueDate] > DATEADD(DAY,43,@Start_Date)  GROUP BY T1.[ShortName]
    SELECT SR.[CardCode], MAX(SR.[CardName]), SUM(SR.[Balance]) AS [BalanceOwing], SUM(SR.[Current]) AS [Current], SUM(SR.[1Week]) AS [1Week], SUM(SR.[2Weeks]) AS [2Weeks], SUM(SR.[3Weeks]) AS [3Weeks], SUM(SR.[4Weeks]) AS [4Weeks], SUM(SR.[5Weeks]) AS [5Weeks], SUM(SR.[6Weeks]) AS [6Weeks], SUM(SR.[Over6Weeks]) AS [Over6Weeks] FROM dbo.#CRDAGEING SR GROUP BY SR.[CardCode] ORDER BY SR.[CardCode]
    END
    Go to Microsoft SQL Studio manager and select your company database. Then expand the list and select Programmability > Stored Procedures. Right click on Stored Procedures and select New Stored Procedure. Copy the above code over the code in the edit window and change the database name as well as report name. Then select Execute to create the stored procedure. If you make changes, remember to change the word CREATE to ALTER (with other words CREATE for the first execute, and ALTER thereafter). Then in SAP Business One create a new query and leave everything blank. Click on execute and select the pencil to change to edit mode. Remove the words SELECT and type in EXEC REPORT_NAME (change the REPORT_NAME to the name you used in SQL). Then execute again and the results will be displayed in SAP Business One.
    Let me know if you get stuck. Remember the above is an example and will need to be changed to use your tables and fields as required. The basic idea is to move across by one column with each select statement. So for example the first select statement does the CURRENT column, the second one the 30DAYS column, and so on.
    Kind regards
    Peter Juby

  • Performance tuning for ABAP Query (created from t-cd SQ01)

    Hello all,
    We created ABAP Query report from transaction SQ01.
    But the generated report has an appropriate SQL statement which causes performance problem.
    To solve this issue, I guess the easiest way is;
    0. Give up to use it.
    1. Copy it to another object in the customer namespace.
    2. Ajust SQL statement.
    But I'm wondering if there're appropriate ways to adjust SQL statement of Query.
    Could anybody give me any better idea?
    Thank you
    Yuko

    You can try this: Create 2 ranges, for objnr and cdtcode and fill like:
    ra_objnr-sign = 'I'.
    ra_objnr-option = 'CP'.
    ra_objnr-low = 'OR*'.
    append ra_objnr.
    ra_code-sign = 'I'.
    ra_code-option = 'CP'.
    ra_code-low = 'CO*'.
    append ra_code.
    SELECT objnr udate utime
    FROM jcds
    INTO TABLE it_jcds
    WHERE objnr IN ra_objnr
    AND stat = l_tj02t
    AND cdtcode IN ra_code
    AND inact = space
    Regards,
    John.

  • How to change the standard query "Create a Master Agreement" by a custom one

    Hello Sourcing CLM experts,
    I would need to replace the standard query displayed when the user tries to create a Master Agreement by a custom query to filter the MA types according to some criteria:
    According to this post: Re: Create security profile for a document template in SAP Sourcing, I've tried to achieve it by doing the following steps:
    Create a new query as a copy of exsiting query FCI-ContractTypes
    Modify query group FCI-ContractTypesBP to include my custom query instead of the standard one to only list the MAType "Standard Master Agreement"
    Following you can see the change done into the query group FCI-ContractTypesBP:
    However, standard query has not been replaced and same set of MA Types are listed.
    Therefore, I would like to ask you:
    Is it possible to do this kind of modifications? If so, which query group need to be modified?
    If it is not possible, is there any other way to achieve that requirement?
    Thanks in advance for your time and support!
    Best regards,
    Isaac

    Hello again experts,
    If this query cannot be modified, is there any option to disable button below? Or at lease, to disable the query group to avoid the listing of MA Types when it is pressed?
    The reason is because we are going to set up the system in the way that only it will be possible to create Master Agreements from Template. However, if user keep on using that button he will be able to create MA from document types.
    Any ideas?
    Thanks again and best regards,
    Isaac

  • Transaction Code assignment for Query created in SQVI

    Dear All,
    Good morning I hope you are doing great...
    Can any body help me out to assign transaction code for Query which was created through SQVI transaction.
    Regards,
    Murali.

    Hi Murali Mohan
    1>go to SQVI t code and  enter your query name and press enter
    2>In the menu path select Quick view--> additional functions-->Generate Program
    3>After Generating the program In the menu path select Quick view--> additional functions-->Display report Name
    4>Now in se38 enter the report name in Program field and execute
    5>You will get the Initial Selection screen of the report . Go to Menu of System -->Status
    6> Note down the Program name and Screen number
    7>Go to SE93 and Create a Z tcode for the query, Enter the description  and importantly you have to select the 2nd Option radio Button Program and Selection Screen (Report Transaction) and Press enter
    8>In the next screen enter the Report name In Program field and enter the screen number
    9>In the classification Section select Professional user  Transaction
    10>In GUI support section select all the options  i.e SAPGUI for HTML,Java,Windows
    and save
    the system will ask for Package select your package if not there then select local object
    now execute the Z tcode your report will run sucessfully
    Regards
    Vijay hebbal

  • Please help with the query creating Materialized View

    Hi,
    We are using the below query to create a Materialized View but it has been running since 3 hours. It is an Oracle 9i database running in HP-UX.The quey is as follows,
    (SELECT
    /*+ use_nl(A) parallel (A,4)*/
    A.ICD_CODE AS ICD_CODE,
    A.ICD_DESC AS ICD_DESC,
    A.PROC_GROUP as PROC_GROUP,
    B.COMPL_ICD_CODE AS COMPL_ICD_CODE,
    B.COMPL_GRP_TXT AS COMPL_GRP_TXT,
    C.PROC_TYPE AS PROC_TYPE ,
    C.I_O_IND AS I_O_IND,
    C.DISC_MON AS QUARTER ,
    B.PAT_KEY AS PAT_KEY ,
    D.COMPL_TYPE_TXT AS COMPL_TYPE_TXT ,
    C.PROV_ID AS PROV_ID ,
    A.SPECIALTY AS SPECIALTY
    FROM
    EES_ICD_9_CODE A ,
    EES_CLINICAL_COMPL_DATA B,
    EES_CLINICAL_DATA C,
    EES_CLINCL_COMPL_ICD D                                                                            
    WHERE A.ICD_CODE= B.ICD_CODE
                    AND B.ICD_CODE= C.ICD_CODE
                    AND B.COMPL_ICD_CODE=D.ICD_9_CD
                    AND B.PAT_KEY=C.PAT_KEY
                    AND B.COMPL_ICD_CODEB.ICD_CODE
                    AND C.PROC_TYPE  'L'
                    AND B.COMPL_GRP_TXT'Reoperations'
                    AND D.COMPL_TYPE_TXT'Intra-operative Misadventure'
                    AND C.DISC_MON>='2003101'
                    AND A.SPECIALTY='Colo-Rectal')
    union
    (SELECT
    /*+ use_nl(A) parallel (A,4)*/
    A.ICD_CODE AS ICD_CODE,
    A.ICD_DESC AS ICD_DESC,
    A.PROC_GROUP as PROC_GROUP,
    B.COMPL_ICD_CODE AS COMPL_ICD_CODE,
    B.COMPL_GRP_TXT AS COMPL_GRP_TXT,
    C.PROC_TYPE AS PROC_TYPE ,
    C.I_O_IND AS I_O_IND,
    C.DISC_MON AS QUARTER ,
    B.PAT_KEY AS PAT_KEY ,
    D.COMPL_TYPE_TXT AS COMPL_TYPE_TXT ,
    C.PROV_ID AS PROV_ID ,
    A.SPECIALTY AS SPECIALTY
    FROM
    EES_ICD_9_CODE A ,
    EES_CLINICAL_COMPL_DATA B,
    EES_CLINICAL_DATA C,
    EES_CLINCL_COMPL_ICD D                                                                            
    WHERE A.ICD_CODE= B.ICD_CODE
                    AND B.ICD_CODE= C.ICD_CODE
                    AND B.COMPL_ICD_CODE=D.ICD_9_CD
                   AND B.PAT_KEY=C.PAT_KEY
                    AND B.COMPL_ICD_CODEB.ICD_CODE
                    AND C.PROC_TYPE  'L'
                    --AND B.COMPL_GRP_TXT'Reoperations'
                    AND D.COMPL_TYPE_TXT='Intra-operative Misadventure'
                    AND B.PROC_DAY=C.PROC_DAY
                    AND C.DISC_MON>='2003101'
                    AND A.SPECIALTY='Colo-Rectal')
    union
    (SELECT
    /*+ use_nl(A) parallel (A,4)*/
    A.ICD_CODE AS ICD_CODE,
    A.ICD_DESC AS ICD_DESC,
    A.PROC_GROUP as PROC_GROUP,
    B.COMPL_ICD_CODE AS COMPL_ICD_CODE,
    B.COMPL_GRP_TXT AS COMPL_GRP_TXT,
    C.PROC_TYPE AS PROC_TYPE ,
    C.I_O_IND AS I_O_IND,
    C.DISC_MON AS QUARTER ,
    B.PAT_KEY AS PAT_KEY ,
    D.COMPL_TYPE_TXT AS COMPL_TYPE_TXT ,
    C.PROV_ID AS PROV_ID ,
    A.SPECIALTY AS SPECIALTY
    FROM
    EES_ICD_9_CODE A ,
    EES_CLINICAL_COMPL_DATA B,
    EES_CLINICAL_DATA C,
    EES_CLINCL_COMPL_ICD D                                                                            
    WHERE A.ICD_CODE= B.ICD_CODE
                    AND B.ICD_CODE= C.ICD_CODE
                    AND B.COMPL_ICD_CODE=D.ICD_9_CD
                    AND B.PAT_KEY=C.PAT_KEY
                    AND B.COMPL_ICD_CODEB.ICD_CODE
                    AND C.PROC_TYPE  'L'
                    AND B.COMPL_GRP_TXT='Reoperations'
                    --AND D.COMPL_TYPE_TXT='Intra-operative Misadventure'
                    AND B.PROC_DAY>C.PROC_DAY
                    AND C.DISC_MON>='2003101'
                    AND A.SPECIALTY='Colo-Rectal')
    The explain plan is as follows,
    PLAN_TABLE_OUTPUT
    | Id  | Operation                          |  Name                    | Rows  | Bytes |TempSpc| Cost  |  TQ    |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT                   |                          | 46935 |  6716K|       | 10648 |        |      |            |
    |   1 |  SORT UNIQUE                       |                          | 46935 |  6716K|    14M| 10648 | 45,14  | P->S | QC (RAND)  |
    |   2 |   UNION-ALL                        |                          |       |       |       |       | 45,13  | P->P | HASH       |
    |*  3 |    HASH JOIN                       |                          | 42801 |  6102K|       |  4640 | 45,13  | PCWP |            |
    |*  4 |     TABLE ACCESS FULL              | EES_CLINCL_COMPL_ICD     |   875 | 18375 |       |     2 | 45,02
    |*  5 |     HASH JOIN                      |                          | 41552 |  5072K|    14M|  4638 | 45,13  | PCWP |            |
    |*  6 |      TABLE ACCESS FULL             | EES_CLINICAL_DATA        |  1430K|    40M|       |  2855 | 45,03
    |*  7 |      HASH JOIN                     |                          |   628K|    56M|       |   494 | 45,10  | P->P | HASH       |
    |*  8 |       TABLE ACCESS FULL            | EES_ICD_9_CODE           |    37 |  2183 |       |     1 | 45,08 
    |*  9 |       TABLE ACCESS BY INDEX ROWID  | EES_CLINICAL_COMPL_DATA  |  2090K|    71M|       |   49
    |  10 |        BITMAP CONVERSION TO ROWIDS |                          |       |       |       |       |        |    
    |* 11 |         BITMAP INDEX FULL SCAN     | INX_COMPL_GRP            |       |       |       |       |        |
    |* 12 |    TABLE ACCESS BY INDEX ROWID     | EES_CLINICAL_DATA        |     1 |    33 |       |     1
    |  13 |     NESTED LOOPS                   |                          |  1327 |   196K|       |   947 | 45,13  | PCWP |            |
    |* 14 |      HASH JOIN                     |                          | 60205 |  6996K|       |   495 | 45,13  | PCWP |            |
    |  15 |       TABLE ACCESS BY INDEX ROWID  | EES_CLINCL_COMPL_ICD     |    36 |   756 |       |    
    |* 16 |        INDEX RANGE SCAN            | COMPL_TYPE_TXT_3         |     1 |       |       |     1 |     
    |* 17 |       HASH JOIN                    |                          |  1420K|   132M|       |   494 | 45,13  | PCWP |            |
    |* 18 |        TABLE ACCESS FULL           | EES_ICD_9_CODE           |    37 |  2183 |       |     1 | 45,11 
    |* 19 |        TABLE ACCESS BY INDEX ROWID | EES_CLINICAL_COMPL_DATA  |  4722K|   175M|       |   49
    |  20 |         BITMAP CONVERSION TO ROWIDS|                          |       |       |       |       |        |      |           
    |  21 |          BITMAP INDEX FULL SCAN    | INX_COMPL_GRP            |       |       |       |       |        |
    |* 22 |      INDEX RANGE SCAN              | EES_CLINICAL_DATA_IND1   |     1 |       |       |     2 | 45,13
    |* 23 |    HASH JOIN                       |                          |  2807 |   416K|       |  4695 | 45,13  | PCWP |            |
    |  24 |     TABLE ACCESS FULL              | EES_CLINCL_COMPL_ICD     |   911 | 19131 |       |     2 | 45,06
    |* 25 |     HASH JOIN                      |                          |  2617 |   334K|    15M|  4693 | 45,13  | PCWP |            |
    |* 26 |      TABLE ACCESS FULL             | EES_CLINICAL_DATA        |  1430K|    45M|       |  2855 | 45,07
    |* 27 |      HASH JOIN                     |                          |   791K|    74M|       |   305 | 45,12  | P->P | HASH       |
    |* 28 |       TABLE ACCESS FULL            | EES_ICD_9_CODE           |    37 |  2183 |       |     1 | 45,09 
    |* 29 |       TABLE ACCESS BY INDEX ROWID  | EES_CLINICAL_COMPL_DATA  |  2632K|    97M|       |   30
    |  30 |        BITMAP CONVERSION TO ROWIDS |                          |       |       |       |       |        |    
    |* 31 |         BITMAP INDEX SINGLE VALUE  | INX_COMPL_GRP            |       |       |       |       |        |
    Predicate Information (identified by operation id):
       3 - access("B"."COMPL_ICD_CODE"="D"."ICD_9_CD")
       4 - filter("D"."COMPL_TYPE_TXT"'Intra-operative Misadventure')
       5 - access("B"."ICD_CODE"="C"."ICD_CODE" AND "B"."PAT_KEY"="C"."PAT_KEY")
       6 - filter("C"."PROC_TYPE"'L' AND "C"."DISC_MON">=2003101)
       7 - access("A"."ICD_CODE"="B"."ICD_CODE")
       8 - filter("A"."SPECIALTY"='Colo-Rectal')
       9 - filter("B"."COMPL_ICD_CODE""B"."ICD_CODE")
      11 - filter("B"."COMPL_GRP_TXT"'Reoperations')
      12 - filter("B"."ICD_CODE"="C"."ICD_CODE" AND "C"."PROC_TYPE"'L' AND "B"."PROC_DAY"="C"."PROC_DA
      14 - access("B"."COMPL_ICD_CODE"="D"."ICD_9_CD")
      16 - access("D"."COMPL_TYPE_TXT"='Intra-operative Misadventure')
      17 - access("A"."ICD_CODE"="B"."ICD_CODE")
      18 - filter("A"."SPECIALTY"='Colo-Rectal')
      19 - filter("B"."COMPL_ICD_CODE""B"."ICD_CODE")
      22 - access("B"."PAT_KEY"="C"."PAT_KEY")
      23 - access("B"."COMPL_ICD_CODE"="D"."ICD_9_CD")
      25 - access("B"."ICD_CODE"="C"."ICD_CODE" AND "B"."PAT_KEY"="C"."PAT_KEY")
           filter("B"."PROC_DAY">"C"."PROC_DAY")
      26 - filter("C"."PROC_TYPE"'L' AND "C"."DISC_MON">=2003101)
      27 - access("A"."ICD_CODE"="B"."ICD_CODE")
      28 - filter("A"."SPECIALTY"='Colo-Rectal')
      29 - filter("B"."COMPL_ICD_CODE""B"."ICD_CODE")
      31 - access("B"."COMPL_GRP_TXT"='Reoperations')
    Note: cpu costing is offPlease help.

    Try removing the hints.
    Is 47,000 a reasonable estimate of how many rows you expect in the results?
    See these posts for other information that you should supply.
    HOW TO: Post a SQL statement tuning request
    HOW TO: Post a SQL statement tuning request - template posting
    When your query takes too long
    When your query takes too long ...

  • Query created in production system and object changeability

    Hi,
    The production BW has the object changeability for query elements set to 'Changeable original'. Some queries which have been created in this system can be changed, others, which have also been created in the system, can not.
    All queries are assigned to the development packate $TMP. None of them have been transported anywhere, nor have they been created somewhere else and transported into the system.
    The system is BW 3.5, SP 17.
    Has anyone got any idea what the problem could be?
    Best regards,
    Rita

    Hi,
    The object changeability in the system is set to 'Changeable Original' and I know where to switch from 'not changeable' to 'changeable original' to 'everything changeable'.
    The normal development cycle sees reports being created in the development system and then being transported through to the production system. Here, they should not be changeable. However, users with the relevant authorisation should be able to either -
      - create new copies of these reports and change them or
      - create new ad-hoc reports and also change these
    We have several of these reports on the production system. The object changeability is set to 'changeable original', as I mentioned. I would expect that all queries which have been created on this system and never transported (either in or out of the system) should be changeable, based on this setting. However, some are, some ar not. The error message when trying to change the 'non-changeable' ones is 'Operation falied! No error message available from the server'. If I make a copy of one of these queries, hoping to save is as an ad-hoc query and change it, the error message is 'query could not be saved due to a problem in transport'.
    How come some can be changed, others can't? Is there anywhere I can check what the difference is between the changeable and non-changeable reports which have been created on the system?
    Best regards,
    Rita

  • Infoset based Query creating locks on DSO Activations

    Hello Experts,
    We are current on SAP NetWeaver 7.3 on ORACLE data base version 11.2.0.3.0.
    We have a query thats built on top of an infoset ( Based on left outer join on 0material and 0mat_plant) when user executes the query its causing locks on DSO activations.
    DSO activations are on hold due to locks on following table RSRNEWSIDS. when BASIS investigated this issue they came up with following reason
    executing this infoset based query is causing the locks and if we kill this job the DSO Activations run fine.
    The design is as follows
    Infoset(0material --Lefter outer Join -- 0mat_plant) ---> MP ---> BEx Query.
    Question 1) Is it possible for a query to create locks and cause holds on DSO Activations? if so what would be the reason?
    Question 2) Any solution or any of you faced similar issue?
    any solution is highly appreciated and rewarded.
    Regards,
    Vamsi.

    Question 1) Is it possible for a query to create locks and cause holds on DSO Activations? if so what would be the reason?
    It all comes down to SID if a query needs an association between fact and dimensions it will use SID and if you doing an activation it readjusts the SIDS so needs to be locked for the most up to date data.
    Question 2) Any solution or any of you faced similar issue?
    Do your query execution before or after DSO activation.
    Cheers!
    Suyash

  • How to change a query created in other id into my id......

    first they have given me one id, and asked me to develop a query. i did it. now i got my id. now i want that query to be on my name.? how can i do it?( i have saved that query as local object when i created it).

    Hi,
    Open the query & save as ( change the description & technical Name).
    Regards
    CSM Reddy

  • Require TCode used by user for sap query created through SQ01

    Hi All,
    I have number of SAP Query in production that currently are used by different-2 user & created through SQ01
    My question is how to know the TCode that used by user for SAP Query.
    Thanks In Advance
    Regards
    San

    Charlie
    You did not get the question.
    I knew the TCode of the query which I had created using tcode SQ01. user is using this query to see the report
    Like I created query named 'order_line_details'. This query is basically to see the order & other details. To use this by user one TCode'zncv_ord_item'  has been created.
    So in the system lots of query are available. So i want to know the Tcode for those query that are using by user.
    Thanks in advance
    San

Maybe you are looking for

  • Html text in label is moving when used as a renderer in a table cell

    Hi everybody, Because it is impossible to use gradient background for html, I created a custom TableCellRenderer that uses a JLabel (for the html text) inside a JPanel with a gradient background. (I use jdk1.5.0_06) However, in the code that I'm post

  • Info on Mac Keeper ??

    any info with useing Mac Keeper

  • How to Add Push Button On Selection Screen

    Hi Experts, How to add Push button on Selection Screen. Points will b rewarded for useful help. Bohra.

  • Captivate 4 vs Captivate 3 - can find a setting

    Hello... So when I upgrade to Captivate 4 from 3...  i can't seem to find the  Storyboard, Edit and Branching tabs that were available in version 3.  How do i get those tabs back in Captivate 4??? Thx, Rich

  • Won't load streaming videos.

    Ok.. Youtube works, but other websites that stream videos on websites like Viddler and the like WILL NOT load at all. I just get the gear loading symbol and nothing happens. Sometimes if I leave the page the video will show right before I leave. I've