Query performance much better when i break the query to 2 queries
Hi
i have a a VERY slow query(takes hours)
select d.WAYBILL_NUMBER
from STOP_HEADER st, STOP_DELIVERY_WAYBILL d
where st.STOP_REFERENCE in ('4153830443')
and st.VISIT_TYPE in ('3','4')
and st.BRANCH_ID = d.BRANCH_ID
and st.ROUTE_ID = d.ROUTE_ID
and to_date(st.DATE_STARTED) = to_date(d.DATE_STARTED)
and st.STOP_NUMBER = d.STOP_NUMBER
with Plan
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 38 K 2346884
MERGE JOIN 38 K 3 M 2346884
SORT JOIN 99 K 4 M 3152
VIEW LOOMIS.V_STOP_HEADER 99 K 4 M 24
UNION-ALL
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_201001 20 380 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_201001 20 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200912 58 1 K 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200912 58 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200910 2 K 51 K 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200910 2 K 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200909 5 K 152 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200909 5 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200908 7 K 191 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200908 7 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200906 23 K 628 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200906 23 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200811 29 K 779 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200811 29 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200810 6 K 160 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200810 6 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200808 24 K 634 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200808 24 K 2
SORT JOIN 39 M 1G 2343732
VIEW LOOMIS.V_STOP_DELIVERY_WAYBILL 39 M 1G 56500
UNION-ALL
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_201001 6 M 158 M 8932
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200912 2 M 57 M 3168
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200910 4 M 115 M 6501
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200909 1 M 40 M 2191
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200908 1 M 50 M 2766
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200906 6 M 166 M 9401
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200811 8 M 206 M 11697
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200810 1 M 41 M 2261
INDEX FAST FULL SCAN LOOMIS.STOPDD_PK_200808 6 M 169 M 9583
if i convert the above query to 2 queries ( i simply a manual join)
1-
select from STOP_HEADER st*
where st.STOP_REFERENCE in ('4153830443')
and st.VISIT_TYPE in ('3','4')
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 686 8
VIEW LOOMIS.V_STOP_HEADER 686 40 K 8
UNION-ALL PARTITION
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_201001 20 1 K 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_201001 20 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200912 58 3 K 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200912 58 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200910 2 K 161 K 4
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200910 2 K 3
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200909 5 K 383 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200909 5 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200908 7 K 490 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200908 7 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200906 23 K 1 M 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200906 23 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200811 29 K 1 M 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200811 29 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200810 6 K 404 K 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200810 6 K 2
TABLE ACCESS BY INDEX ROWID LOOMIS.STOP_HEADER_200808 24 K 1 M 2
INDEX RANGE SCAN LOOMIS.STOPHDR_IDX_STOPREF_200808 24 K 2
2-
select d.WAYBILL_NUMBER
from STOP_DELIVERY_WAYBILL d
where d.BRANCH_ID = 'ESK'
and d.ROUTE_ID = '326'
and d.DATE_STARTED = to_date('31-mar-2010')
and d.STOP_NUMBER= 27
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 9 27
VIEW LOOMIS.V_STOP_DELIVERY_WAYBILL 9 414 27
UNION-ALL
INDEX RANGE SCAN LOOMIS.STOPDD_PK_201001 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200912 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200910 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200909 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200908 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200906 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200811 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200810 1 27 3
INDEX RANGE SCAN LOOMIS.STOPDD_PK_200808 1 27 3
each one take half a second !!!
i am on 8.1.4.7 with compatible = 8.0.5.0.0, i will move to 11g in the near future
any help please why this query behaviour when i do a join
Thanks very much
Edited by: user9145417 on 31-Mar-2010 17:24
user9145417 wrote:
I assume that this is a real challenge for Oracle Performance geeks , and i ask any Guru in this field to contribute to explain this weired behaviour.
ThanksOr possibly it's not very interesting, on a version of Oracle that is at least two versions in the past for most people, using a feature (partiiton views) that has been deprecated by Oracle even though newer versions of the optimizer can handle "UNION ALL" views far more effectively that 8i used to - and you haven't really made much effort to supply the information needed to help others solve your problem, e.g. how about making sure that your execution plan is readable. (See the note about "code" tags below).
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)
+"Science is more than a body of knowledge; it is a way of thinking"+
+Carl Sagan+
Similar Messages
-
Revision: 10156
Author: [email protected]
Date: 2009-09-11 09:22:09 -0700 (Fri, 11 Sep 2009)
Log Message:
Resubmitting change for SDK-22035, should perform much better.
QE notes: None
Doc notes: None
Bugs: SDK-22035
Reviewer: Paul
Tests run: Binding cyclone, performance suite
Is noteworthy for integration: No
Ticket Links:
http://bugs.adobe.com/jira/browse/SDK-22035
http://bugs.adobe.com/jira/browse/SDK-22035
Modified Paths:
flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java
flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm
flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/BindingExpression.javaIf you're still using Buckminster 3.6, I strongly suggest switching to 3.7 - it has a number of bug fixes and improvements. This applies to both headless, and the IDE (assuming Eclipse 3.7 Indigo).
Matthew -
In the report builder 6i when I choose the query type as Express Query and go to next step where on pressing the connect button I am getting the following error.
REP-6029 : Express error.
How can I solve this problem ?
Thanks
Nanda KishoreDiId you download Oracle Reports Developer/Server Release 6i for Express, Files for Oracle8i for Windows NT from OTN?
If so, could you provide me wih more information?
Thanks
Elaine -
Performance hit using "where" clause in the query
Hi All,
I am facing a huge performance hit in the java code when using "where" clause in queries. Following are the details:
1. SELECT * FROM Employee
2. SELECT * FROM Employee where employeeid in (26,200,330,571,618,945)
There is no difference in Query Execution Time for both queries.
Business Logic Time is huge in second case as compared to first one (ratio - 1:20).
Rows returned are more in first case as compared to second case.(ratio - 1:4)
Business Logic is same for both the cases where I iterate through the ResultSet, get the objects and set them in a data structure.
Does anybody know the reason of unexpected time difference for the business logic in the second case?Since you're mentioning clustering your index, I'll assume you are using Oracle. Knowing what database you are using makes it a lot easier to suggest things.
Since you are using Oracle, you can get the database to tell you what execution plan it is using for each of the 2 SQL statements, and figure out why they have similar times (if they do).
First, you need to be able to run SQL*Plus; that comes as part of a standard database installation and as part of the Oracle client installation - getting it set up and running is outside the scope of this forum.
Second, you may need your DBA to enable autotracing, if it's not already:
http://asktom.oracle.com/~tkyte/article1/autotrace.html
http://www.samoratech.com/tips/swenableautotrace.htm
Once it's all set up, you can log in to your database using sql*plus, issue "SET AUTOTRACE ON", issue queries and get execution plan information back.
For example:
SQL> set autotrace on
SQL> select count(*) from it.ticket where ticket_number between 10 and 20;
COUNT(*)
11
Execution Plan
Plan hash value: 2983758974
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 4 | 1 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 4 | | |
|* 2 | INDEX RANGE SCAN| TICKET_N10 | 12 | 48 | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("TICKET_NUMBER">=10 AND "TICKET_NUMBER"<=20)
Statistics
0 recursive calls
0 db block gets
1 consistent gets
0 physical reads
0 redo size
515 bytes sent via SQL*Net to client
469 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> This tells me that this query used an INDEX RANGE SCAN on index TICKET_N1; the query can't do much better than that logically... In fact, the statistic "1 consistent gets" tells me that Oracle had to examine only one data block to get the answer, also can't do better than that. the statistic, "0 physical reads" tells me that the 1 data block used was already cached in Oracle's memory.
the above is from Oracle 10g; autotrace is available back to at least 8i, but they've been adding information to the output with each release.
If you have questions about sql_plus, check the forums at asktom.oracle.com or http://forums.oracle.com/forums/category.jspa?categoryID=18
since sql*plus is not a JDBC thing...
Oh, and sql*plus can also give you easier access to timing information, with "set timing on". -
Which SQL query performance is better
Putting this in a new thread so that i dont confuse and mix the query with my similiar threads.
Based on all of your suggestions for the below query,i finally came up with 2 RESOLUTIONS possible for it.
So,which would be the best in PERFORMANCE from the 2 resolutions i pasted below?I mean which will PERFORM FASTER and is more effecient.
***The original QUERY is at the bottom.
Resolution 1:-/***Divided into 2 sep. queries and using UNION ALL ****/ Is UNION ALL costly?
SELECT null, null, null, null, null,null, null, null, null,
null,null, null, null, null, null,null,null, count(*) as total_results
FROM
test_person p,
test_contact c1,
test_org_person porg
WHERE p.CLM_ID ='11' and
p.person_id = c1.ref_id(+)
AND p.person_id = porg.o_person_id
and porg.O_ORG_ID ='11'
UNION ALL
SELECT lastname, firstname,person_id, middlename,socsecnumber,
birthday, U_NAME,
U_ID,
PERSON_XML_DATA,
BUSPHONE,
EMLNAME,
ORG_NAME,
EMPID,
EMPSTATUS,
DEPARTMENT,
org_relationship,
enterprise_name,
null
FROM
SELECT
beta.*, rownum as alpha
FROM
SELECT
p.lastname, p.firstname, p.person_id, p.middlename, p.socsecnumber,
to_char(p.birthday,'mm-dd-yyyy') as birthday, p.username as U_NAME,
p.clm_id as U_ID,
p.PERSON_XML_DATA.extract('/').getStringVal() AS PERSON_XML_DATA,
c1.CONTACT_DATA.extract('//phone[1]/number/text()').getStringVal() AS BUSPHONE,
c1.CONTACT_DATA.extract('//email[2]/address/text()').getStringVal() AS EMLNAME,
c1.CONTACT_DATA.extract('//company/text()').getStringVal() AS ORG_NAME,
porg.emplid as EMPID, porg.empl_status as EMPSTATUS, porg.DEPARTMENT,
porg.org_relationship,
porg.enterprise_name
FROM
test_person p,
test_contact c1,
test_org_person porg
WHERE p.CLM_ID ='11' and
p.person_id = c1.ref_id(+)
AND p.person_id = porg.o_person_id
and porg.O_ORG_ID ='11'
ORDER BY
upper(p.lastname), upper(p.firstname)
) beta
WHERE
alpha BETWEEN 1 AND 100
Resolution 2:-
/****here,the INNER most count query is removed ****/
select *
FROM
SELECT
beta.*, rownum as alpha
FROM
SELECT
p.lastname, p.firstname, p.person_id, p.middlename, p.socsecnumber,
to_char(p.birthday,'mm-dd-yyyy') as birthday, p.username as U_NAME,
p.clm_id as U_ID,
p.PERSON_XML_DATA.extract('/').getStringVal() AS PERSON_XML_DATA,
c1.CONTACT_DATA.extract('//phone[1]/number/text()').getStringVal() AS BUSPHONE,
c1.CONTACT_DATA.extract('//email[2]/address/text()').getStringVal() AS EMLNAME,
c1.CONTACT_DATA.extract('//company/text()').getStringVal() AS ORG_NAME,
porg.emplid as EMPID, porg.empl_status as EMPSTATUS, porg.DEPARTMENT,
porg.org_relationship,
porg.enterprise_name,
COUNT(*) OVER () cnt -----This is the function
FROM
test_person p,
test_contact c1,
test_org_person porg
WHERE p.CLM_ID ='11' and
p.person_id = c1.ref_id(+)
AND p.person_id = porg.o_person_id
and porg.O_ORG_ID ='11'
ORDER BY upper(p.lastname), upper(p.firstname)
) beta
WHERE
alpha BETWEEN 1 AND 100
ORIGINAL QUERY
SELECT
FROM
SELECT
beta.*, rownum as alpha
FROM
SELECT
p.lastname, p.firstname, porg.DEPARTMENT,
porg.org_relationship,
porg.enterprise_name,
SELECT
count(*)
FROM
test_person p, test_contact c1, test_org_person porg
WHERE
p.p_id = c1.ref_id(+)
AND p.p_id = porg.o_p_id
$where_clause$
) AS results
FROM
test_person p, test_contact c1, test_org_person porg
WHERE
p.p_id = c1.ref_id(+)
AND p.p_id = porg.o_p_id
$where_clause$
ORDER BY
upper(p.lastname), upper(p.firstname)
) beta
WHERE
alpha BETWEEN #startRec# AND #endRec#I have now run the explain plans and put them below seperately for each SQL.The SQL queries for each of the items are posted in the 1st post of this thread.
***The original QUERY is at the bottom.
Resolution 1:-/***Divided into 2 sep. queries and using UNION ALL ****/ Is UNION ALL costly?
EXPLAIN PLANS SECTION
1- Original
Plan hash value: 1981931315
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 22859 | 187M| | 26722 (81)| 00:05:21 |
| 1 | UNION-ALL | | | | | | |
| 2 | SORT AGGREGATE | | 1 | 68 | | | |
| 3 | MERGE JOIN OUTER | | 22858 | 1517K| | 5290 (1)| 00:01:04 |
| 4 | MERGE JOIN | | 22858 | 982K| | 4304 (1)| 00:00:52 |
|* 5 | INDEX RANGE SCAN | test_org_person_I3 | 24155 | 542K| | 363 (1)| 00:00:05 |
|* 6 | SORT JOIN | | 22858 | 468K| 1448K| 3941 (1)| 00:00:48 |
|* 7 | TABLE ACCESS FULL | test_PERSON | 22858 | 468K| | 3716 (1)| 00:00:45 |
|* 8 | SORT JOIN | | 68472 | 1604K| 4312K| 985 (2)| 00:00:12 |
| 9 | INDEX FAST FULL SCAN | test_CONTACT_FK1 | 68472 | 1604K| | 113 (1)| 00:00:02 |
|* 10 | VIEW | | 22858 | 187M| | 21433 (1)| 00:04:18 |
| 11 | COUNT | | | | | | |
| 12 | VIEW | | 22858 | 187M| | 21433 (1)| 00:04:18 |
| 13 | SORT ORDER BY | | 22858 | 6875K| 14M| 21433 (1)| 00:04:18 |
| 14 | MERGE JOIN OUTER | | 22858 | 6875K| | 18304 (1)| 00:03:40 |
| 15 | MERGE JOIN | | 22858 | 4397K| | 11337 (1)| 00:02:17 |
| 16 | SORT JOIN | | 22858 | 3013K| 7192K| 5148 (1)| 00:01:02 |
|* 17 | TABLE ACCESS FULL | test_PERSON | 22858 | 3013K| | 3716 (1)| 00:00:45 |
|* 18 | SORT JOIN | | 24155 | 1462K| 3800K| 6189 (1)| 00:01:15 |
| 19 | TABLE ACCESS BY INDEX ROWID| test_ORG_PERSON | 24155 | 1462K| | 5535 (1)| 00:01:07 |
|* 20 | INDEX RANGE SCAN | test_ORG_PERSON_FK1| 24155 | | | 102 (1)| 00:00:02 |
|* 21 | SORT JOIN | | 68472 | 7422K| 15M| 6968 (1)| 00:01:24 |
| 22 | TABLE ACCESS FULL | test_CONTACT | 68472 | 7422K| | 2895 (1)| 00:00:35 |
Predicate Information (identified by operation id):
5 - access("PORG"."O_ORG_ID"='11')
6 - access("P"."PERSON_ID"="PORG"."O_PERSON_ID")
filter("P"."PERSON_ID"="PORG"."O_PERSON_ID")
7 - filter("P"."CLM_ID"='11')
8 - access("P"."PERSON_ID"="C1"."REF_ID"(+))
filter("P"."PERSON_ID"="C1"."REF_ID"(+))
10 - filter("ALPHA"<=25 AND "ALPHA">=1)
17 - filter("P"."CLM_ID"='11')
18 - access("P"."PERSON_ID"="PORG"."O_PERSON_ID")
filter("P"."PERSON_ID"="PORG"."O_PERSON_ID")
20 - access("PORG"."O_ORG_ID"='11')
21 - access("P"."PERSON_ID"="C1"."REF_ID"(+))
filter("P"."PERSON_ID"="C1"."REF_ID"(+))
-------------------------------------------------------------------------------terprise_name
Resolution 2:-
EXPLAIN PLANS SECTION
1- Original
Plan hash value: 1720299348
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 23518 | 13M| | 11545 (1)| 00:02:19 |
|* 1 | VIEW | | 23518 | 13M| | 11545 (1)| 00:02:19 |
| 2 | COUNT | | | | | | |
| 3 | VIEW | | 23518 | 13M| | 11545 (1)| 00:02:19 |
| 4 | WINDOW SORT | | 23518 | 3536K| | 11545 (1)| 00:02:19 |
| 5 | MERGE JOIN OUTER | | 23518 | 3536K| | 11545 (1)| 00:02:19 |
| 6 | MERGE JOIN | | 23518 | 2985K| | 10587 (1)| 00:02:08 |
| 7 | SORT JOIN | | 23518 | 1561K| 4104K| 4397 (1)| 00:00:53 |
|* 8 | TABLE ACCESS FULL | test_PERSON | 23518 | 1561K| | 3716 (1)| 00:00:45 |
|* 9 | SORT JOIN | | 24155 | 1462K| 3800K| 6189 (1)| 00:01:15 |
| 10 | TABLE ACCESS BY INDEX ROWID| test_ORG_PERSON | 24155 | 1462K| | 5535 (1)| 00:01:07 |
|* 11 | INDEX RANGE SCAN | test_ORG_PERSON_FK1| 24155 | | | 102 (1)| 00:00:02 |
|* 12 | SORT JOIN | | 66873 | 1567K| 4216K| 958 (2)| 00:00:12 |
| 13 | INDEX FAST FULL SCAN | test_CONTACT_FK1 | 66873 | 1567K| | 110 (1)| 00:00:02 |
Predicate Information (identified by operation id):
1 - filter("ALPHA"<=25 AND "ALPHA">=1)
8 - filter("P"."CLM_ID"='11')
9 - access("P"."PERSON_ID"="PORG"."O_PERSON_ID")
filter("P"."PERSON_ID"="PORG"."O_PERSON_ID")
11 - access("PORG"."O_ORG_ID"='11')
12 - access("P"."PERSON_ID"="C1"."REF_ID"(+))
filter("P"."PERSON_ID"="C1"."REF_ID"(+))
ORIGINAL QUERY
EXPLAIN PLANS SECTION
1- Original
Plan hash value: 319284042
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 22858 | 187M| | 21433 (1)| 00:04:18 |
|* 1 | VIEW | | 22858 | 187M| | 21433 (1)| 00:04:18 |
| 2 | COUNT | | | | | | |
| 3 | VIEW | | 22858 | 187M| | 21433 (1)| 00:04:18 |
| 4 | SORT ORDER BY | | 22858 | 6875K| 14M| 21433 (1)| 00:04:18 |
| 5 | MERGE JOIN OUTER | | 22858 | 6875K| | 18304 (1)| 00:03:40 |
| 6 | MERGE JOIN | | 22858 | 4397K| | 11337 (1)| 00:02:17 |
| 7 | SORT JOIN | | 22858 | 3013K| 7192K| 5148 (1)| 00:01:02 |
|* 8 | TABLE ACCESS FULL | test_PERSON | 22858 | 3013K| | 3716 (1)| 00:00:45 |
|* 9 | SORT JOIN | | 24155 | 1462K| 3800K| 6189 (1)| 00:01:15 |
| 10 | TABLE ACCESS BY INDEX ROWID| test_ORG_PERSON | 24155 | 1462K| | 5535 (1)| 00:01:07 |
|* 11 | INDEX RANGE SCAN | test_ORG_PERSON_FK1| 24155 | | | 102 (1)| 00:00:02 |
|* 12 | SORT JOIN | | 68472 | 7422K| 15M| 6968 (1)| 00:01:24 |
| 13 | TABLE ACCESS FULL | test_CONTACT | 68472 | 7422K| | 2895 (1)| 00:00:35 |
Predicate Information (identified by operation id):
1 - filter("ALPHA"<=25 AND "ALPHA">=1)
8 - filter("P"."CLM_ID"='1862')
9 - access("P"."PERSON_ID"="PORG"."O_PERSON_ID")
filter("P"."PERSON_ID"="PORG"."O_PERSON_ID")
11 - access("PORG"."O_ORG_ID"='1862')
12 - access("P"."PERSON_ID"="C1"."REF_ID"(+))
filter("P"."PERSON_ID"="C1"."REF_ID"(+))
-------------------------------------------------------------------------------Edited by: user10817659 on Feb 19, 2009 11:47 PM
Edited by: user10817659 on Feb 21, 2009 12:23 AM -
Is using backup device better when backing up the database?
Hello Community
I used sp_addumpdevice to perform a backup and restore.
Is there an advantage to using sp_addumpdevice when doing
backups and restores or is it better to just issue the Backup Database
command and specify to disk?
Thank you
ShabeautHello,
There is no difference in terms of performance. The difference is the level of obfuscation, for example if you had a single database and wanted it to always go to the same place, etc, you could do what you've done and then the backup command is smaller.
It's the same either way.
Sean Gallardy | Blog |
Twitter -
SAP Query (SQ01) who and when to use the report
HI Experts!!!
Is there somewhere recorded information: who and when to use the report from SAP Query (SQ01)?
ThanksHi
This topic doesn´t belong to the Service Marketplace Area.
regards Martin -
Hi All
I am adding CKF's to the columns in the Bex query, then after when I Check or Save the query it is throwing the error which i have no idea, did any one face this issue before?
Error: [A299[Brain] Terminate: System error in program SAPLRRI2 and from CHECK_MAX_MEMBERS-01- (see long text)
Diagnosis
This internal error is an intended termination resulting from a program state that is not permitted.
Procedure
Analyze the situation and inform SAP.
If the termination occurred when you executed a query or Web template, or during interaction in the planning modeler, and if you can reproduce this termination, record a trace (transaction RSTT).
For more information about recording a trace, see the documentation for the trace tool environment as well as SAP Note 899572.
ThanksThis looks like a bug. I will enter a bug report. Thanks, Laura.
-
IAm getting the error when iam opening the query in the Designer
hi
I had opened the query in the DEvelopement and i had got the error message that Bex transport request is not available or not suitable
I Got this error for the first time
can any body help regarding this
Please search the forum before posting a thread
Edited by: Pravender on Feb 4, 2012 11:08 AMyou need to cretae a new transport request to make changes to your query
pls see Bex Transport request is not available -
Why is the MPE so much better when using Vista?
I get more realtime playback using Windows Vista than When using Windows 7 with HDV. I can get better GPU and CPU playback both when using Vista for HDV. Why is that? Im using a GT 240 and it kicks *** with Vista. I use a second LCD TV monitor as an NTSC monitor for the realtime previews. I do get some realtime with Windows 7 but only about half as much as with Vista. Something is better about Vista for HDV clips but Idon't know what. I have done several fresh installs and updates. What gives? Any thoughts.
I have done fresh OS installs and Windows updates. The GT 240 was added the same way. For HDV the Vista OS is better. For AVCHD they are about the same. I think it is a bug. It works better using Windows 7 if I don't output to the LCD TV monitor. Do any of you use HDV and preview on a NTSC monitor?
-
Why do i get NEX in the column output when i execute the query ?
Hi All ,
I have a requirement to work on a developed report which is giving me NEX values for one of the enitire column ( This column is the output for the difference between two dates ( Key date - document date ) ) , when i drill down along the columns with Document Date i do not see any NEX values any more rather i see required output .
My Question is how do i acheive the result for this out put with out drilldown with the Document Date .
Also kindly suggest in what cases do i get NEX values in the BEX output .Hi Anindya ,
Thanks for your quick reply , i have tried both the options that you have mentioned in Post , but could not see any change
NEX is the result that i am seeing for the KPI which i have created as mentioned in my Question .
Document Date has to be present in Free chars and it is also one of the date i have used in the KPI ( using Formula with replacement path ) .
My requirement is to make the Document Date available in Free chars ( so there is no chance of using it again in rows / hiding it ) .
I repeat .. i am getting ( Seeing ) NEX as out put when i do not drill down with Document Date ,if i drill down i am able to see the values.
Thanks In Advance
Dev. -
Query returning record even when not satisfying the where condition
Hi,
Below Query is returning value '1D' though it doesnt fall under the range '01' and '99'.
I actually want to get the last 2 characters of the string and filter out if its not a number. Please help me.
select * from (
select substr('qwe1D',4) val from dual )
where val between '01' and '99';
Thanks
MadhuriSven W. wrote:
Madhuri wrote:
Hi,
Below Query is returning value '1D' though it doesnt fall under the range '01' and '99'.
I actually want to get the last 2 characters of the string and filter out if its not a number. Please help me.
select * from (
select substr('qwe1D',4) val from dual )
where val between '01' and '99';
Thanks
MadhuriBut '1D' is between '01' and '99'. Simply because '1' is between '0' and '9'.
One more example: '1111111' is also between '01' and '99'. This is how an string comparison works.
To filter out strings that do not have numeric chars in them you can use several functions. regexp_substr/regexp_replace/translate/regexp_like etc.
This might work:
select * from (
select substr('qwe1D',4) val from dual )
where regexp_like(val,'\d{2}$');Edited by: Sven W. on Sep 27, 2012 12:35 PMThere is still one problem with this. It will return '00' which is not part of the original requirement. You have to add
AND val != '00' -
Dreamweaver Freezes when I use the query mobile swatch panel
Every time I open and use the jquery mobile swatch panel, dreamweaver freezes and stops working. I have to force it to close. This problem started when I upgraded to CC 2 days ago... never with CS6.
Any help or suggestions would be great.
Thanks.Ok, I don't have a crash report and all, but I have reported my issue in reports to Adobe.
Adobe CS5 Mac OS 10.6.7 iMac (Intel) 2010
Happened several times since I use this effect quite a bit.
I have a block of area text with a placed .psd photo which has possibly a clipping path (or not) and a separate stroke box for a border, grouped together and then a drop shadow applied. Then select both group and text block and apply text warp. Then select just the photo group and try to nudge it by using the arrow keys on my Apple factory shipped keyboard.
Usually hit the arrow key 3 to 4 times before I realize that I get the spinning wheel of death and finally crash.
Can anyone duplicate this? -
ipod shuffle 4 connecting problem
When you say "dock," is that the USB cable it came with? I'm asking, because it just has a headphones plug connector, not a "dock" (like the 2nd gen shuffle).
As a test, shut down (power off) your computer and disconnect all USB devices including hub, except for standard keyboard and mouse, if normally used. Do this to reset the shuffle
http://support.apple.com/kb/HT1655
If your computer is a laptop, connect it to its power adapter (so that it's not running on battery power). Start it up, run iTunes, and connect the shuffle using its original USB cable to a direct USB port on the computer. -
0HR_PT_3 Load is taking too much time when i execute the Info package
Dear All,
i am working on HR Module.
i am extracting data from 0HR_PT_3 from R/3 PRD system through info package its taking long time to load data.
I have checked in RSA3 in R/3 PRD system whenever i extract "0HR_PT_3" instead of showing records its showing this error message "Infotype 2002 not read due to lack of authorization" .
could you please let me know any one have resolve this issue.
Thanks,
Venkat.
Edited by: venkatnaresh7 on Jul 12, 2011 11:49 AMhi
I am facing same issue. did you able to fix this?
Maybe you are looking for
-
Hello, since migrating our system from Oracle Client 9.0.X to 9.2.0.1 (Windows XP), i am encountering troubles when calling a stored procedure from a Cobol-Program: after a while i run into a 'Maximum open cursors exceeded'-message (ORA-01000) The st
-
I've got twin 12 year old boys and want to set I tunes accounts for them both, I need to be able to administer any purchases as they will need to use my bank account. How can I do this?
-
How to upload ".shp" file?
how to upload ".shp" file in flash builder4.6?And does flash builder4.6 have a package named"hymn"?
-
How do you batch re-name pdfs in Acrobat X Pro?
If I have 5000 pdf files in a folder and I need to change the file names from Document A.pdf, Document B.pdf, Document C.pdf, Document D.pdf, etc. to Document A-1.pdf, Document B-1.pdf, Document C-1.pdf, Document D-1.pdf, etc and don't have time to g
-
Checkbox cell factory + Tableview
I'm writing a JavaFX client for my soap service, and of my fxml pages must contain a fully-editable TableView, which consists of Product-class entities.My table consists now of 2 text columns and one, which consists of Double values.I want to add a s