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. -
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?
ThanksHi,
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?
ThanksFrom 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 ?
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 AMHI 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 TanHi 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
YukoYou 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,
IsaacHello 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,
RitaHi,
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
SanCharlie
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