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

  • [svn:fx-trunk] 10156: Resubmitting change for SDK-22035, should perform much better.

    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.java

    If 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 .....

    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 Kishore

    DiId 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
        Shabeaut

    Hello,
    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)?
    Thanks

    Hi
    This topic doesn´t belong to the Service Marketplace Area.
    regards Martin

  • Error when i save the query

    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.
    Thanks

    This 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 AM

    you 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
    Madhuri

    Sven 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?

  • Trying to charge (or connecting to the pc) iPod shuffle 4 but nothing much happens when connected to the dock, all I get is red flash , can anyone help or advise what this means?

    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 AM

    hi
    I am facing same issue. did you able to fix this?

Maybe you are looking for