How can I reduce BEx Query execution time

Hi,
I have a question regarding query execution time in BEx.
I have a query that takes 45 mins to 1 hour to execute in BEx analyser. This query is run on a daily basis and hence I am keen to reduce the execution time.  Are there any programs or function modules that can help in reducing query execution time?
Thanks and Regards!

Hi Sriprakash,
1.Check if your cube is performance tuned: in the manage cube from RSA1 / performance tab: check if all indexes and statistics are green. Aggregate IDx should as well be.
2.Condense your cubes regularly
3. Evaluate the creation of an aggregate with all characteristic used in the query (RSDDV).
4.Evaluate the creation of a "change run aggregate": based on a standalone NavAttr (without its basic char in the aggr.) but pay attention to the consequent change run when loading master data.
5. Partition (physically) your cubes systematically when possible (RSDCUBE, menu, partitioning)
6. Consider logical partitioning (by year or comp_code or ...) and make use of multiproviders in order to keep targets not too big...
7.Consider creating secondary indexes when reporting on ODS (RSDODS)
8.Check if the query runtime is due the master data read or the infoprovider itself, or the OLAP processor and/or any other cause in tx ST03N
9.Consider improving your master reads by creating customized IDX (BITMAP if possible and depending on your data) on master data table and/or attribute SIDs when using NAvs.
10.Check that your basis team did a good job and have applied the proper DB parameters
11.Last but not least: fine tune your datamodel precisely.
hope this will give you an idea.
Cheers
Sunil

Similar Messages

  • How can i check the procedure execution time..?

    Hi All,
    Can any one of you tell me how can i check the procedure execution time..?
    Thanks in advance.

    if running it from SQL*Plus,
    SQL> set timing on
    Or from PL/SQL, use DBMS_UTILITY.GET_TIME before and after the call and calclate the difference.

  • How to reduce the query execution time

    hai all,
    We have created query on Purchasing Cube 0PUR_C01 for
                                Purchase Order (PO) analysis for single vendor materials, but it is taking long time to execute (about 45 sec...).
    In the above Query we have used the following things:
    In Columns:
    i) Exceptional aggregation for maximum & minimum PO Net Price using reference characteristic as Calendar Day.
    ii) Minimum PO Price value we have multiplied with Actual GR Quantity for the calculation of Impact of Lowest PO Net Price.
    iii) Number of vendors calculated key figure.
    In Rows:i)     Only Material
    In Filters:
    i)     Plant with variable select Option u2013 Optional.
    ii)     Calendar Year / Month with Select Option u2013 Optional.
    iii)     Material with excluded Unassigned (#).
    iv)     Vendor with excluded Unassigned (#).
    Following are we have used for Performance:
    i)     Aggregates using Propose from query (only for this query).
    ii)     Partitioning on Calendar Year / Month (For 1 year 14 partitions) i.e. (04.2007 to 03.2008).
    iii)      Collapse.
    iv)     In RSRT we have set the following properties
    Read Mode = H
    Req.Status  = 0
    Catch Mode = 4
    Persistence Mode = 3 (BLOB)
    Optimization mode = 0.
    Our inputs to this Query:
    i)     We are passing plant range 1201 to 1299.
    ii)     Calendar Year / Month 04.2007 to 03.2008.
    So please suggest me how to reduce the execution time.
    please help me.
    Thanks,
    kiran manyam

    Hi,
    First of all its a complete question with all the details. Good work.
    As you partitioned the cube based on calmonth and you are also giving calmonth in selection, it will definitely work towards improved query performance.
    As you are putting plant values in the selection, is there any aggregate available on plant characteristics? If not creating a aggregate on plant will help.
    Regards,
    Yogesh

  • How to reduce my query execution time?

    Hi Friends,
    One of my client asked me this question. " My query is taking long time to execute.So how do you reduce this time?" . I replied him saying some performance issues like creating aggregates( offcourse we have to balance the maintenance of it ), creating secondary indexe and cube copression and if possible Cube Partition etc.... I even explained query performance isuues like if possible use RRI, and minimise variables etc....
    Can anybody tell me any other factors we can advise?..Anyway it depends on query too.
    Thanks
    Murthy

    hi murthy,
    SAP BW Query Performance Tuning with Aggregates:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3f66ba90-0201-0010-ac8d-b61d8fd9abe9
    SAP BW Query Performance Check List:
    http://mysap.wordpress.com/2006/09/04/sap-bw-query-performance-check-list/
    and you can find a lot of threads and related doc. in the forum itself
    Re: Performance
    Re: Performance analysis
    Query Performance – Is "Aggregates" the way out for me?
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    chk this:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4c0ab590-0201-0010-bd9a-8332d8b4f09c
    cheers
    Sunil

  • How to reduce this query execution time !

    Just use your original cursor as an inline view, like so:
    CREATE OR REPLACE PROCEDURE SP_TEST_audit_history2
    (p_start IN date,
    p_end IN date,
    p_msgcode IN varchar2,
    p_partnername IN varchar2,
    p_status IN varchar2,
    p_locationname IN varchar2,
    p_custbusunit IN varchar2,
    p_sysaudithistory_cur OUT plutotypes.ref_cursor,
    p_status1 OUT NUMBER)
    AS
    BEGIN
    OPEN p_sysaudithistory_cur
    FOR
    SELECT tfm.hubmsgid,
    tfm.status || '-'|| nvl2 (tfm.exception_id, 'FAILED', 'OK'),
    tfm.datetime,
    tfm.exception_id
    FROM tfm_status tfm,
    (SELECT DISTINCT MAX (tfm.datetime) datetime, tfm.hubmsgid
    FROM tfm_status tfm, vw_msgcode_part_locn vw
    WHERE tfm.datetime >= NVL (p_start, TO_DATE ('01/01/1981', 'DD/MM/YYYY'))
    AND tfm.datetime <= NVL (p_end, TO_DATE ('31/12/9999','DD/MM/YYYY'))
    AND tfm.msgcode LIKE NVL (p_msgcode, '%')
    AND vw.msgcode = tfm.msgcode
    AND vw.partnername LIKE NVL (p_partnername, '%')
    AND tfm.status LIKE NVL (p_status, '%')
    AND vw.locationname LIKE NVL (p_locationname, '%')
    AND vw.custbusunit LIKE NVL (p_custbusunit, '%')
    AND rownum < 250
    GROUP BY tfm.hubmsgid) c_hubmsgids
    WHERE tfm.hubmsgid = c_hubmsgids.hubmsgid /* here only i am getting error*/
    AND tfm.datetime = c_hubmsgids.datetime
    AND tfm.status like NVL (p_status, '%');
    p_status1 := 0;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN p_status1 := 1;
    END SP_TEST_audit_history2;
    If i run this query it is taking 18 seconds to retrive the records becoz of that group by clause..
    Can any body suggest any changed in code ( any hints) to make it faster that is execution time will be less than 10 seconds
    Thanx in advance
    prasanth a.s.

    Try removing the word distinct and see if that helps. Distinct should not be needed since the max and group by will result in distinct values.

  • How can I get SQL query excution time

    Hi ,
    When I run a query , How can i get total execution time for that query.
    Thanks,
    Regards,
    Basha.

    There are several ways:
    1. In SQL, issue SET TIMING ON
    2. Trace your query:
    - ALTER SESSION SQL_TRACE=TRUE;
    - Execute your query
    - ALTER SESSION SET SQL_TRACE=FALSE
    - Decode the tracefile left at USER_DUMP_DEST using TKPROF.

  • How can I get accurately the execution time of a method?

    My first idea is:
    long start =System.currentTimeMillis();
    method call
    long end =System.currentTimeMillis();
    long executionTime= end-start;
    I know this is a very trivial wat, I have not always the same accuracy with execution of the same method.
    Do you have better idea to solve it?

    Simple answer: you can't. Basically and in general because there always will be other threads running on your computer, be they java threads or other (native) threads.
    But with java there is another problem as well. Your JVM might decide to compile your byte code into native code, thus giving different run time results.
    What is generally done when someone needs an estimate of the runtime of some java method is to follow the following steps:
    1) Run the method a considerable number of times to alert the JVM that it might benefit from compiling byte code to native code.
    2) Give the JVM some rest by invoking sleep for some time. It may use that rest to do the compilation.
    3) Run the method again a couple of times and calculate the average runtime.
    This will give you some idea, when you have alternative implementations, what implementation is most efficient.
    I'm fullly aware that this is not scientific, but it helps me sometimes,
    Piet

  • How can i increse my query Performance

    please tell me how can i increase my query execution performance ?
    tell me all ways
    specially for using the appropriate keywords like use exist rather than any condition ?
    plz help me

    Seeing that we're simply throwing stones into the bushes in the hope of maybe hitting and causing some damage to the Performance Killer Monster, the VERY BEST and MOST BRILLIANT stone to throw is the following:
    WHERE 1=2
    This is guaranteed to significantly improve the performance of said query. Tried it. Be amazed. Wow!! Show your friends!
    However...
    If you are serious about performance issues, let me quote what I believe is 'The Single And Very Fundamental Principle of Performance Tuning'. From the [url http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/toc.htm]Oracle® Database Performance Tuning Guide:
    Section 1.1.2.1. Performance Principles
    "Tuning is driven by identifying the most significant bottleneck and making the appropriate changes to reduce or eliminate the effect of that bottleneck."
    Throwing stones at the Performance Killer is not in any way, identifying The Performance Problem. And none of the suggestions in this thread on what stones to throw is much better than adding a 1=2 predicate to a query.

  • Reducing query execution time

    how can we reduce query execution time?which methods we have to follow to optimization?

    which methods we have to follow to optimization?First, read this informative thread:
    How to post a SQL statement tuning request HOW TO: Post a SQL statement tuning request - template posting
    and post the relevant details we need.
    Execution plans and/or TRACE/TKPROF output can help you identifying performance bottlenecks.

  • In ST03 , how can i see the Query name, user id,how many times executed the

    HI Experts,
    In ST03 , how can i see the Query name, user id,how many times executed the query.
    these details how do i get from the above transaction.
    EX:-if there is one report name X,I want to know how many users had executed X report today,weekly,monthly.
    ex:-query userid total number of execution
    sales order 0000555 5 times
    custmer 05855 2 times
    fast reply will be appreciated,

    Hi,
    Look here:
    http://help.sap.com/saphelp_nw04/helpdata/en/3b/54df4204892a78e10000000a155106/frameset.htm
    Also check these:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2d/b8be3befaefc75e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/25/ece73a39e74d27e10000000a114084/frameset.htm
    Hope this helps..
    Bye
    Dinesh

  • Table defination in datatype size can effect on query execution time.

    Hello Oracle Guru,
    I have one question , suppose I have create one table with more than 100 column
    and i tacke every column datatype varchar2(4000).
    Actual data are in every column not more than 300 character so in this case
    if i execute only select query
    so oracle cursor internaly read up to 4000 character one by one
    or it read character one by one and in last character ex. 300 it will stop there.
    If i reduce varchar2 size 300 instend of 4000 in table defination,
    so is it effect on select query execution time ?
    Thanks in advance.

    When you declare VARCHAR2 column you specify maximum size that can be stored in that column. Database stores actual number of bytes (plus 2 bytes for length). So if yiou insert 300 character string, only 302 bytes will be used (assuming database character set is single byte character set).
    SY.

  • How to get query execution time without running...?

    Hi ,
    I had one requirement .... as follows ......
    i had 3 sql statements . I need to execute only one sql which execution time is very less.
    Can any one help me , how to get query execution time without running that query and without using explain plan..?
    Thanks,
    Rajesh

    Kim Berg Hansen wrote:
    But you have ruled out explain plan for some reason, so I cannot help you.OP might get some answers if query was executed before - but since restart. Check V$SQL dynamic performance view for SQL_TEXT = your query. Then ROUND(ELAPSED_TIME / EXECUTIONS / 1000000) will give you average elapsed time.
    SY.
    Edited by: Solomon Yakobson on Apr 3, 2012 8:44 AM

  • In ST03 , how can i see the Query name, user id,how many times .

    HI Experts,
    In ST03 , how can i see the Query name, user id,how many times executed the query.
    these details how do i get from the above transaction.
    Points will be awarded.
    BR
    sivs

    Hi Siva,
    Reporting statistics data is only written to the database table if BW statistics have been manually activated for the corresponding InfoProvider first. If this has not been done, it is therefore not possible to display any reporting statistics in transaction ST03.
    Therefore activate the reporting statistics for all relevant InfoProviders. To do this, set the OLAP flag in the BW Administrator Workbench (transaction RSA1) in the area Tools ® BW Statistics for InfoProvider.
                    Check here...........
    http://help.sap.com/saphelp_nw04/helpdata/en/ca/86df4254d81e1fe10000000a155106/content.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c8c4d794-0501-0010-a693-918a17e663cc
    Hope this will help you shiva.........
    Regrads,
    Vijay

  • How to know query execution time in sql plus

    HI
    I want to know the query execution time in sql plus along with statistics
    I say set time on ;
    set autotrace on ;
    select * from view where usr_id='abcd';
    if the result is 300 rows it scrolls till all the rows are retrieved and finally gives me execution time as 40 seconds or 1 minute.. (this is after all the records are scrolled )
    but when i execute it in toad it gives 350 milli seconds..
    i want to see the execution time in sql how to do this
    database server 11g and client is 10g
    regards
    raj

    what is the difference between .. the
    statistics gathered in sql plus something like this and the one that i get from plan_table in toad?
    how to format the execution plan I got in sqlplus in a proper understanding way?
    statistics in sqlplus
    tatistics
             0  recursive calls
             0  db block gets
           164  consistent gets
             0  physical reads
             0  redo size
         29805  bytes sent via SQL*Net to client
           838  bytes received via SQL*Net from client
            25  SQL*Net roundtrips to/from client
             1  sorts (memory)
             0  sorts (disk)
           352  rows processedexecution plan in sqlplus... how to format this
    xecution Plan
      0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=21 Card=1 Bytes=10
             03)
      1    0   HASH (UNIQUE) (Cost=21 Card=1 Bytes=1003)
      2    1     MERGE JOIN (CARTESIAN) (Cost=20 Card=1 Bytes=1003)
      3    2       NESTED LOOPS
      4    3         NESTED LOOPS (Cost=18 Card=1 Bytes=976)
      5    4           NESTED LOOPS (Cost=17 Card=1 Bytes=797)
      6    5             NESTED LOOPS (OUTER) (Cost=16 Card=1 Bytes=685)
      7    6               NESTED LOOPS (OUTER) (Cost=15 Card=1 Bytes=556
      8    7                 NESTED LOOPS (Cost=14 Card=1 Bytes=427)
      9    8                   NESTED LOOPS (Cost=5 Card=1 Bytes=284)
    10    9                     TABLE ACCESS (BY INDEX ROWID) OF 'USR_XR
             EF' (TABLE) (Cost=4 Card=1 Bytes=67)
    11   10                       INDEX (RANGE SCAN) OF 'USR_XREF_PK' (I
             NDEX (UNIQUE)) (Cost=2 Card=1)
    12    9                     TABLE ACCESS (BY INDEX ROWID) OF 'USR_DI
             M' (TABLE) (Cost=1 Card=1 Bytes=217)
    13   12                       INDEX (UNIQUE SCAN) OF 'USR_DIM_PK' (I
             NDEX (UNIQUE)) (Cost=0 Card=1)
    14    8                   TABLE ACCESS (BY INDEX ROWID) OF 'HDS_FCT'
              (TABLE) (Cost=9 Card=1 Bytes=143)
    15   14                     INDEX (RANGE SCAN) OF 'HDS_FCT_IX2' (IND
             EX) (Cost=1 Card=338)
    16    7                 TABLE ACCESS (BY INDEX ROWID) OF 'USR_MEDIA_
             COMM' (TABLE) (Cost=1 Card=1 Bytes=129)
    17   16                   INDEX (UNIQUE SCAN) OF 'USR_MEDIA_COMM_PK'
              (INDEX (UNIQUE)) (Cost=0 Card=1)
    18    6               TABLE ACCESS (BY INDEX ROWID) OF 'USR_MEDIA_CO
             MM' (TABLE) (Cost=1 Card=1 Bytes=129)
    19   18                 INDEX (UNIQUE SCAN) OF 'USR_MEDIA_COMM_PK' (
             INDEX (UNIQUE)) (Cost=0 Card=1)
    20    5             TABLE ACCESS (BY INDEX ROWID) OF 'PROD_DIM' (TAB
             LE) (Cost=1 Card=1 Bytes=112)
    21   20               INDEX (UNIQUE SCAN) OF 'PROD_DIM_PK' (INDEX (U
             NIQUE)) (Cost=0 Card=1)
    22    4           INDEX (UNIQUE SCAN) OF 'CUST_DIM_PK' (INDEX (UNIQU
             E)) (Cost=0 Card=1)
    23    3         TABLE ACCESS (BY INDEX ROWID) OF 'CUST_DIM' (TABLE)
             (Cost=1 Card=1 Bytes=179)
    24    2       BUFFER (SORT) (Cost=19 Card=22 Bytes=594)
    25   24         INDEX (FAST FULL SCAN) OF 'PROD_DIM_AK1' (INDEX (UNI
             QUE)) (Cost=2 Card=22 Bytes=594)

  • How can i reduce applet loading time?

    I have recently begun converting a gui application to an applet. The problem i have is the loading time of the applet which can be several minutes.
    The gui has a progress bar which tracks the loading of the classes, images and sounds etc, once this is up and running the loading time is fairly short, however it takes forever for the gui to actually begin to display.
    The code for the classes is only about 150K altogether, there seems to a period of long modem inactivity once the applet is initialized before the gui is displayed.
    How can i reduce the time it takes for the applet to initialize before the gui is displayed, otherwise users will thing nothing is happening and not bother loading it.
    the applet is currently at http://www.winnieinternet.com/games/startrade2095/applet/startrade2095.htm
    if you need a demo of the problem, although the applet is still work in progress.
    Many thanks in advance for any help
    W.Coleman
    www.winnieinternet.com

    Some suggestions could be:
    1. Bundle all classes and resource files in a jar file.
    2. Try to preload the heavier files (e.g. sound files) in a background thread, instead of init() method. See an example for this in Sun's Java tutorial, under the trail 'Sound'.

Maybe you are looking for

  • How can we re-enable automatic login?

    My husband likes to have automatic login, and has always used it on his laptop. The computer belongs to his employer; yesterday, it wouldn't accept his login at all, and when he got it back from IT an hour later, there was a new account on it (the IT

  • BADI/EXIT for MIGO for accounting  document posting

    Hi I am using MIGO where SAP post Mat Document and Accountying document. This Uses FM  'MB_POST_GOODS_MOVEMENT  < Include LMIGOKG1>, once this FM executed both MKPF and BKPF data gets filled . I can see tha data for MKPF in debug but I am not able to

  • How can i tell what soft ware im using ?

    when i look under about this mac, it says OS X ,and under it says version 10.8.4 ? is this verison the new OS X mountian lion? how can i tell thanks!

  • Problem: Error -1

    Hello everyone, I have an acquaintance who is using the free trial of Final Cut Pro X to finish a movie at our university. There are only apparimately 6 days left, but there has been some trouble. The message midway through export: "The operation cou

  • Standby Database for GRID instance

    Hi All, I have a requirement from a client to provide a Standby database (Physical or Logical) for the GRID control instance. Baffled by this, I tried to explain that the GRID instance is very small and may not require a standby. The client is adaman