execution time of the procedure

Hello

I'm working on the Conversion project, there are 7 different procedures that execute one after the other. It takes nearly 17 hours to complete one conversion.
My question is how can I find out what procedure and/or SQL takes maximum time so that I can fix it. We used dynmaic sql strongly to INSERT/CHANGE/REMOVE.
We use Oracle 9i.

I tried to use v$ session_longops but there are so many tiny Jules Destrooper in the procedure, which lasts less than 6 seconds to run, v$ session_longops does not display any result.
DBMS_APPLICATION_INFO.SET_MODULE(  module_name => 'Proc1', action_name => 'Start'); 
DBMS_APPLICATION_INFO.set_action(action_name => 'Just Started');
Thank you
Sandy

Published by: Sandy310 on July 27, 2011 14:42

You can try to create a table to record the execution time of each procedure...
For example:

-table of log´s
create table executation_log (obj_name varchar2 (120),)
VARCHAR2 (120) of the event.
time_execute timestamp);

-log´s procedure
create or replace procedure prc_log (p_obj_name in varchar2,
p_event in varchar2)
is

pragma autonomous_transaction;

Start

insert into executation_log (obj_name, event, time_execute)
values(p_obj_name,p_event,SYSTIMESTAMP);

end prc_log

declare

Start

-call the log´s procedure
prc_log (p_obj_name-online 'frist_object',
p_event-online 'start');

-call your drifter
frist_object;

-After the procedure of log´s you call compare the process start and end
prc_log (p_obj_name-online 'frist_object',
p_event-online "finish");

-new
prc_log (p_obj_name-online 'second_object',
p_event-online 'start');

second_object;

-call once again, once again, once again
prc_log (p_obj_name-online 'second_object',
p_event-online "finish");

end;

-Drifter, then select table log´s
Select *.
of e executation_log
order of e.time_execute

Thank you...

Tags: Database

Similar Questions

  • How to shorten the execution time of the NXT (TETRIX & MATRIX toolkit) brick

    Hello

    How to shorten the execution time of the NXT brick?

    (TETRIX & MATRIX toolkit, running time)

    The software is 2012 LabVIEW for LEGO MINDSTORMS

    Thank you.

    Hi 40123157,

    You use the module in an appropriate manner, and there is no simple way to improve the time of loop iteration beyond what you've done. Here are my suggestions:

    (1) the i2c commands take a long time. In your application, it may speed up if you run only move the engine only when the engine speed has changed.

    (2) for this particular example, you do not use the release of the report engine. If this VI does not need to run it can be removed.

    (3) If you need to speed up execution other than that, as a user advanced LabVIEW, you can create a copy of the VI of engines to move and change it as you choose. All you have to to the "DC motors' entry is use cluster to array on the cluster, as shown below. I think you can speed it up by running all the settings before the loop (type sensor and fixed connection configuration), and removing the value of power if you send only the values between-100 and 100.

    (4) drawing on the screen can be slow you down here.

  • don't forget the select result of a statement to be used several times in the procedure

    Hi all

    I'm sorry for this kind of question, I'm not newbie, but still need your help.

    My need is remember the select result of a statement to be used several times in the procedure.

    My first guess is to use a temporary table, but I think there's better decisions.

    For example, I should make a heavy request

    Select the code from table_function (param1)

    Then, this query is used to insert a list of the id in table1, delete table2 and update in table 3.

    Help me please do not use if possible temporary tables.

    If there is more than one column, you need to create an object type at the database level. Create a collection of this type of object in the procedure.

    Example:

    CREATE OR REPLACE TYPE "OBJ1" as OBJECT(
            column1 varchar2(256 CHAR),
            column2 varchar2(35 CHAR)
            );
    
    CREATE OR REPLACE TYPE "nt_obj1" as table of OBJ1; -- this could be done at procedure level as well
    
    DECLARE
       t_employee_ids   nt_obj1;
    BEGIN
       SELECT OBJ1(column1,column2)
         BULK COLLECT INTO  t_employee_ids
         FROM table1
        WHERE column3 = NNN
    .............
    .....
    
  • Execution time of the XML CVI functions increase when loop

    I wrote several functions with CVI who read XML files. I confirmed in the utility of monitoring resources I have cleaned all my lists, items, documents, etc. I found that when I loop one of the functions I created, the execution time increases. The increase is small, but it is sensitive and does not affect the performance of my.

    Are there other sources of memory I need to release? It seems that there is a leak memory somewhere, but I can't see where this increase.

    I am running LabWIndows/CVI 2009 on Windows 2008 Server. I closed my functions using TestStand 4.2.1. Any help would be appreciated!

    Thanks in advance,

    Kyle

    Hi Daniel,.

    After some playing around, it turns out that the source of my problem was due to running my program as a Debug version, rather than a Release. As soon as I build in a configuration of output, the function remains coherent and quick time loop.

    Thank you for the research on this problem for me.

    Kyle

  • Should I wait until the end of the execution time of the query for the execution plan?

    Hello Experts,

    I want to see the execution plan of the query below. However, it takes more than 3 hours. Should I wait all the time to see the execution plan?

    Note: EXPLAIN PLAN for does not work. (I mean that I do not see the actual line number, etc. with EXPLAIN the PLAN of market)

    You can see the output of the execution plan when I canceled the execution after 1 minute.

    My first question is: what should I do to see the execution plan for queries running out of time time?

    2nd question: when I cancel the query during execution in order to see the execution plan, will I see the specific plan of execution or erroneous values? Because the first execution plan seems inaccurate, what do you think?

    question 3: why EXPLAIN the PLAN for the clause does not work? Also, should I use EXPLAIN the PLAN of the clause to this scenerio? Can I see the result of running for long time without her queries?

    Thnaks for your help.

    Oracle Database 11 g Enterprise Edition Release 11.2.0.2.0 - 64 bit Production

    PL/SQL Release 11.2.0.2.0 - Production

    CORE Production 11.2.0.2.0

    AMT for Linux: Version 11.2.0.2.0 - Production

    NLSRTL Version 11.2.0.2.0 - Production

    Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price

    of custinvoicejour j join custinvoicetrans t on

    substr (nls_lower (j.DataAreaId), 1, 7) = substr (nls_lower (t.dataareaid), 1, 7) and

    substr (nls_lower (J.INVOICEID), 1: 25) = substr (nls_lower (t.INVOICEID), 1: 25)

    where

    substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM = 29457

    and substr (nls_lower (j.dataareaid), 1, 7) = '201' and

    J.INVOICEACCOUNT in

    (select IT. Drmpos.avtr_seg_cust_campend ACCOUNTNUM this where THIS. CAMPAIGN = '201406' and THIS. SEGMENT_LEVEL in (', 'E'))

    and J.AVAWARDSALES > 190

    and substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406'

    "and J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 ';

    SQL_ID, dznya6x7st0t8, number of children 0

    -------------------------------------

    Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT,.

    J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price of

    CustInvoiceJour j join custinvoicetrans t on

    substr (nls_lower (j.DataAreaId), 1, 7) =

    substr (nls_lower (t.DataAreaId), 1, 7) and

    = substr (nls_lower (J.INVOICEID), 1: 25)

    substr (nls_lower (t.INVOICEID), 1: 25) where

    substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM =

    29457 and substr (nls_lower, (j.dataareaid), 1, 7) = '201' and

    J.INVOICEACCOUNT in (select CE. ACCOUNTNUM of

    drmpos.avtr_seg_cust_campend this where THIS. CAMPAIGN = '201406' and

    IT. SEGMENT_LEVEL in (', 'E')) and J.AVAWARDSALES > 190 and

    substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406' and

    "J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 '.

    Hash value of plan: 2002317666

    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                           | Begins | E - lines. A - lines.   A - time | Pads | Bed |  OMem |  1Mem | Used Mem.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                                |      1.        |      0 | 00:00:00.01 |       0 |      0 |       |       |          |

    |*  1 |  HASH JOIN |                                |      1.   3956.      0 | 00:00:00.01 |       0 |      0 |  2254K |  1061K | 2190K (0) |

    |*  2 |   HASH JOIN |                                |      1.     87.  16676. 00:00:01.64 |     227K |   3552.  3109K |  1106K | 4111K (0) |

    |*  3 |    TABLE ACCESS BY INDEX ROWID | CUSTINVOICEJOUR |      1.   1155 |  31889 | 00:00:01.16 |     223KO |     15.       |       |          |

    |*  4 |     INDEX RANGE SCAN | I_062INVOICEDATEORDERTYPEIDX |      1.   4943 |    134K | 00:00:00.83 |   45440 |      0 |       |       |          |

    |   5.    SIMPLE LIST OF PARTITION.                                |      1.  82360 |    173K | 00:00:00.08 |    3809 |   3537 |       |       |          |

    |*  6 |     TABLE ACCESS FULL | AVTR_SEG_CUST_CAMPEND |      1.  82360 |    173K | 00:00:00.06 |    3809 |   3537 |       |       |          |

    |   7.   TABLE ACCESS BY INDEX ROWID | CUSTINVOICETRANS |      1.   4560 |      0 | 00:00:00.01 |       0 |      0 |       |       |          |

    |*  8 |    INDEX RANGE SCAN | I_064INVLINENUMCAMPAIGNOFPRICE |      1.   4560 |      0 | 00:00:00.01 |       0 |      0 |       |       |          |

    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - access("J".") "SYS_NC00299$"="T". "' SYS_NC00165$ ' AND SUBSTR (NLS_LOWER ('J'. "" "" REFFACTURE")(, 1, 25) = SUBSTR (NLS_LOWER ("T"." "" "REFFACTURE")(, 1, 25)).

    2 - access("J".") INVOICEACCOUNT '= SYS_OP_C2C ("EC". ". ACCOUNTNUM'))

    3 - filter("J".") AVAWARDSALES"> 190)

    4 - access("J".") SYS_NC00299$ "= U ' 201"AND "J". INVOICEDATE"> = TO_DATE(' 2014-06-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND

    "J"." SYS_NC00307$ "= U ' 201406"AND "J". INVOICEDATE"< = TO_DATE (' 2014-06-13 00:00:00 ',' syyyy-mm-dd hh24:mi:ss')))

    filter ((' J'. "INVOICEDATE' > = 'J' AND TO_DATE(' 2014-06-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') '." " SYS_NC00307$ "= U '201406' AND"

    "J"." INVOICEDATE"< = TO_DATE (' 2014-06-13 00:00:00 ',' syyyy-mm-dd hh24:mi:ss'))))

    6 filter (("CE". "SEGMENT_LEVEL" = A "OR"THIS"." SEGMENT_LEVEL "=" E"))

    8 - access("T".") SYS_NC00165$ "= U ' 201"AND "T". AVBROCHURELINENUM "= 29457)

    filter ("T". ("AVBROCHURELINENUM" = 29457)

    EXPLAIN PLAN FOR

    Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price

    of custinvoicejour j join custinvoicetrans t on

    substr (nls_lower (j.DataAreaId), 1, 7) = substr (nls_lower (t.dataareaid), 1, 7) and

    substr (nls_lower (J.INVOICEID), 1: 25) = substr (nls_lower (t.INVOICEID), 1: 25)

    where

    substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM = 29457

    and substr (nls_lower (j.dataareaid), 1, 7) = '201' and

    J.INVOICEACCOUNT in

    (select IT. Drmpos.avtr_seg_cust_campend ACCOUNTNUM this where THIS. CAMPAIGN = '201406' and THIS. SEGMENT_LEVEL in (', 'E'))

    and J.AVAWARDSALES > 190

    and substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406'

    "and J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 ';

    SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR);

    SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR ('7h1nbzqjgwsp7', 2));

    SQL_ID, 7h1nbzqjgwsp7, number of children 2

    EXPLAIN PLAN for select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * /.

    J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE,

    (T.LINEAMOUNT + T.LINEAMOUNTTAX) join price j custinvoicejour

    CustInvoiceTrans t on substr (nls_lower (j.dataareaid), 1, 7) =

    substr (nls_lower (t.DataAreaId), 1, 7) and

    = substr (nls_lower (J.INVOICEID), 1: 25)

    substr (nls_lower (t.INVOICEID), 1: 25) where

    substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM =

    29457 and substr (nls_lower, (j.dataareaid), 1, 7) = '201' and

    J.INVOICEACCOUNT in (select CE. ACCOUNTNUM of

    drmpos.avtr_seg_cust_campend this where THIS. CAMPAIGN = '201406' and

    IT. SEGMENT_LEVEL in (', 'E')) and J.AVAWARDSALES > 190 and

    substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406' and

    "J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 '.

    NOTE: cannot fetch SQL_ID plan: 7h1nbzqjgwsp7, CHILD_NUMBER: 2

    Check the value of SQL_ID and CHILD_NUMBER;

    It could also be that the plan is no longer in the cursor cache (check v$ sql_plan)

    NightWing wrote:

    Randolf,

    I don't understand. What you hear from the above statement that you mean A-lines and E will be incorrect, but the ratio between them remain the same. Therefore, you can deduct the bad things by comparing the differences.

    Thus, A-lines always give a wrong result for cancellation of queries, isn't it?

    Charlie,

    I think that Martin gave a good explanation. Here's another example that hopefully makes more obvious things:

    17:56:55 SQL >-things go very wrong here with a small buffer cache

    17:56:55 SQL >-T2 lines are badly scattered when you access through T1. FK

    17:56:55 SQL >--

    17:56:55 SQL >-"Small job" approach would have been a good idea

    17:56:55 SQL >-if the estimate of 100 iterations of the loop was correct!

    17:56:55 SQL > select

    17:56:55 (t2.attr2) count 2

    17:56:55 3 of

    17:56:55 4 t1

    17:56:55 5, t2

    17:56:55 6 where

    17:56:55   7  /*------------------*/

    17:56:55 8 trunc (t1.attr1) = 1

    17:56:55 9 and trunc (t1.attr2) = 1

    17:56:55 10 / *-* /.

    17:56:55 11 and t1.fk = t2.id

    17:56:55 12.

    T1

    *

    ERROR on line 4:

    ORA-01013: user has requested the cancellation of the current operation

    Elapsed time: 00:04:58.30

    18:01:53 SQL >

    18:01:53 SQL > @xplan_extended_display_cursor ' ' ' ' 'ALLSTATS LAST + COST.

    18:01:53 SQL > set echo off verify off termout off

    SQL_ID, 353msax56jvvp, number of children 0

    -------------------------------------

    SELECT count (t2.attr2) from t1, t2 where

    / / *-* trunc (t1.attr1) = 1 and

    trunc (T1.attr2) = 1 / *-* / and t1.fk = t2.id

    Hash value of plan: 2900488714

    ------------------------------------------------------------------------------------------------------------------------------------

    | ID | The NEST | DSB | Operation | Name | Begins | E - lines. Cost (% CPU). A - lines.   A - time | Pads | Bed |

    ------------------------------------------------------------------------------------------------------------------------------------

    |   0 |     |   7. SELECT STATEMENT |        |      1.        |  4999 (100) |      0 | 00:00:00.01 |       0 |      0 |

    |   1.   0 |   8 2 GLOBAL TRI |        |      1.      1.            |      0 | 00:00:00.01 |       0 |      0 |

    |   2.   1.   5.   NESTED LOOPS |        |      1.        |            |  57516 | 00:04:58.26 |     173K |  30770 |

    |   3.   2.   3.    NESTED LOOPS |        |      1.    100.  4999 (1) |  57516 | 00:00:21.06 |     116K |   3632.

    |*  4 |   3.   1.     TABLE ACCESS FULL | T1 |      1.    100.  4799 (1) |  57516 | 00:00:00.19 |    1008 |   1087 |

    |*  5 |   3.   2.     INDEX UNIQUE SCAN | T2_IDX |  57516 |      1.     1 (0) |  57516 | 00:00:20.82 |     115K |   2545 |

    |   8 2 2 |   4.    TABLE ACCESS BY INDEX ROWID | T2 |  57516 |      1.     2 (0) |  57516 | 00:04:37.14 |   57516 |  27138 |

    ------------------------------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    4 filter ((TRUNC ('T1'. "ATTR1") = 1 AND TRUNC ('T1'. " ATTR2') = 1))

    5 - access("T1".") FK '= 'T2'.' (ID')

    You say here that I canceled a query after about 5 minutes, and looking at the statistics of content (RowSource) I can already say the following:

    1. the estimation of cardinality of T1 is far - the optimizer estimated 100 lines, but it actually generated more than 57000 lines when the query was cancelled. If this definitely seems like a candidate at the origin of the problems

    2. the query has spent most of the time in search of random table T2

    So while it is true that I don't know final A-lines of this cancelled query information, I can still say a lot of this and begin to deal with the problems identified so far.

    Randolf

  • Execution time of the steps

    Hello

    I want to use the stopwatch or a timer noted the moment to take the step bit (say some time by three steps in a sequence.)

    How can I do that I have not found a ts timerin.

    Hello

    You can add a step of instruction before your efforts, with the expression: Locals.intialTime = (seconds).

    After your steps, is the expression of the runtime: Locals.executionTime = Seconds() - Locals.initialTime.

    The result is in seconds.

    Bruno

  • How to see the variable data in time debugging the procedure in Toad oracle 9.1

    Hi all

    I'm not able to see the data variable at the procedure of debugging in Toad oracle 9.1.
    Any help would be appreciated.



    Kind regards
    Prakash P

    Published by: prakash on May 30, 2011 01:37

    Published by: prakash on May 30, 2011 01:37

    Published by: prakash on May 30, 2011 01:37

    You might be aware toad is not a product of Oracle, so you need this post on the forums of quest, http://www.questsoftware.com

    ----------
    Sybrand Bakker
    Senior Oracle DBA

  • Execution time of the timed loop

    When I run a timed loop, even a dummy, I have 100% CPU usage with "RT get CPU loads. The Profiler 'Performance and memory' and "execution trace toolkit" also indicate a maximum time of VI. Is this normal?

    What target RT do you use? If it's a FP, you will always have 100% of the CPU load due to the optimizatio performance.

    Best regards

    Fabio

  • Execution time

    Hi all
    In a procedure, I have to call another procedure.lets say I have to call the procedure "B" "A" procedure. I would like to follow the execution time of the procedure of 'B' in 'A '. The run time can be in milli seconds. The procedure of 'B' will be called using execute immediate stmt in 'A 'procedure. '.
    Please help me to follow the execution time.

    Thank you
    Arun

    Use [DBMS_UTILITY. GET_TIME. http://download.Oracle.com/docs/CD/B19306_01/AppDev.102/b14258/d_util.htm#sthref7809] and calculate the time.

    something like that.

    begin
         lTime := dbms_utility.get_time;
    
         p();
    
         lTime := dbms_utility.get_time - lTime;
    end;
    
  • How to measure the execution time of a specific to a VI process?

    Hello! My VI has two processes: compression and edge detection image and I'm trying to measure the execution time for the process of detection of edge of my VI, but I don't know how to do. Please give me some ideas on how to do it. Thank you!

    There are several ways that you can do.

    -L' one is using the number of cycles before and after your vi to get time like here: http://digital.ni.com/public.nsf/allkb/6F6B9F4E149C80578625652800784764

    - or use the profiling: https://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/profiling_vis/

    Edit: If you're open to suggestions:

    -You have not to load the image inside the loop instead, make him outside of the loop.

    - And I see of many IMAQ buffers are not removed properly. You can have everything at once by Images (No) by logging in to Boolean TRUE: http://zone.ni.com/reference/en-XX/help/370281P-01/imaqvision/imaq_dispose/

  • Why the execution time increases with a while loop, but not with "run continuously?

    Hi all

    I have a problem of severe weather that I don't know how to fix it because I don't know exactly where it comes from.

    I order two RF switches via a data acquisition card (NI USB-6008). One job at the same time can be selected on each switch. Basically, the VI created for this feature (by a colleague) resets all the outputs of acquisition data and active then those desired. It has three entrances, two chain simp0le controls and a cluster table, that contains the list of all the outputs and some practical information to know what is connected (specific to my application).

    I use this VI in a complex application, and I have some problems with the execution time, which increased whenever I said the VI, so I did a test VI (TimeTesting.vi) to determine where the problem came. In this special VI I record the execution time in a csv file to analyze then with excel.

    After several tries, I found that if I run this criterion VI with the while loop, execution on every cycle time increases, but if I remove the while loop and use the funtionnality "Continuous run", the execution time remains the same. In my high level application, I have while loops and events, and so the runtime increases too.

    I someone could explain to me why execution time increases and how can we avoid this? I have attached my VI test and the necessary subVIs, as well as an image of a graph that shows the execution time with a while loop and «run permanently»

    Thanks a lot for your help!

    Your SetReset_DO VI creates a channel whenever it is called.  And that you never delete a task.

    When running continuously, that it's as if it only runs once and LabVIEW has internal mechanisms to close references that will not be used again.  When a VI is used as a Subvi, LV does not know if she will be called again, and lacks these things until the first level VI stops. You have a memory leak.

    Just as you open and close your file outside the loop for, create your channel out of the loop.

    Lynn

  • sampling time changed the buckle timed

    Hello world

    I use the timed loop to control the DC motor with the vi of PID. in the loop and the sampling time are defined as 0.01 s. However, after I added a few other screws in the loop, for example, writing of measure file.vi, to collect the errors between the angle and the practical perspective of the engine for the time histroty the movement of the motor, we find that the sampling time changed, not always 0.01 s before the vi has been added, but 0.01 or 0.02 s. the entire program desinged to be fininshed with 7 s, now's done it at 9.4 s, that is, execution of the loop time is extended.

    Another thing is, if the sampling time is defined as s 0.05, the sampling time is always 0.05 s and the execution time of the loop is always 7 s as predined, regardless of writing custom file.vi is added in the loop or not.

    As a result, I think that if the complexity of the loop is incresead and time of sampling sets is small, then the actual sampling time will be modified due to the design of things load in the timed loop. What is the reason? If so, are there methods to solve?

    It is important: the collection of the angular error of the engine in the time histrory is very important, which will be used to show the correctness of the settings KP, KI and KD.

    A friend suggested using the queue vi, but I don't really know how to use them. Can someone give some instructions?

    Thanks a lot!

    See you soon

    Cram features in a timed loop is like stuffing 5 books you know that in a book bag 3. The timed loop is only really practical on a rt system, but even in this case, if the code inside requires more time than the period of the loop, there is no magic that the loop can do to increase the execution time. Just point out you that the loop is late. The solution is to remove features from the inside of the loop. Writing to a file of measure is one of the worst if you write to a text file. Look at the producer/consumer model of design that you have examples of. There, you will have a normal loop that you will write to a queue, and a second loop will process data in the queue. Use file > open...

  • too low execution time

    I tried to measure the execution time. The rate is 1KS/s through to read 100 per channel in a loop of 10 and samples. The time should be about 1000 ms, but it is only 500-600 ms. And when I changed the rate/number of samples, the run time does not change... How could it happen?

    Well,.

    The task inside the loop compensation is something of a problem.  (The error handler must jump on the second iteration)

  • Calculation actual and average execution time

    Hi guru,.

    I have a scenario where I connect my moment of execution in a Table, and my batch


    Batch_id Scenario_Name

    1 Scen1

    1 Scen2

    1 Scen3

    2 Scen1

    2 Scen2

    2 Scen3

    3 Scen1

    3 Scen2

    3 Scen3

    Now my question is I want to calculate the duration of actual execution and the execution time of the Avg, while Avg running time calculation, I current Batch_ID to exclusion of

    Select scenario_name, count (scenario_name).

    sum (MOD (FLOOR ((END_DATE-START_DATE) * 24 * 60 * 60), 60)) Total.

    sum (MOD (FLOOR ((date_fin-START_DATE) * 24 * 60 * 60), 60)) count (scenario_name) Avg

    of Execution_Log

    -where batch_id = 1

    Scenario_name group

    This query will give me the result, but it's also including current Batch_Id

    OK, try this query. I dropped the group by clause as the avg is the only present aggregation, and who is now handled through the analytical counterpart (with more partition by clause).

    SELECT

    A.BATCH_ID,

    A.SCENARIO_NO,

    A.SCENARIO_NAME,

    C.TGT_TABLE_NAME,

    A.START_DATE,

    A.END_DATE,

    A.EXECUTION_STATUS,

    Decode(A.EXECUTION_STATUS,'COMPLETED','No Error','FAILED',A.ERROR_MESSAGE,null) ERROR_MESSAGE

    MOD (G ((A.END_DATE-A.)) START_DATE) * 24 * 60 * 60), 60) TEMPS_REEL.

    AVG (MOD (FLOOR ((A.END_DATE-A.START_DATE) * 24 * 60 * 60), 60)) on (A.scenario_name partition) AVG_TIME

    To exec_log1 A

    INNER JOIN exec_log2 B

    ON A.BATCH_ID = B.BATCH_ID

    AND A.BATCH_ID = 2

    INNER exec_log3 C

    ON A.SCENARIO_NO = C.SCENARIO_NO

    AND A.SCENARIO_NAME = C.SCENARIO_NAME

    ORDER BY A.SCENARIO_NAME ASC

    I hope this helps.

  • Query execution time

    Hello

    Maybe a stupid question, but I would like to know if it is possible to calculate the execution time of a query.

    I know ' set timing on ', but I can't use it, because I don't have any environment for the needs of the school project.

    I have to select all the orders for a line in a table with more than 1,000,000 records (easy ^^) and there are 100 users simultaneously connected.

    How long is the execution time and the impact of 100 users (Oracle 11 g)?

    Of course, it also depends on the server, the table index, etc., but this should be ignored.

    Maybe somebody has a tip or a white paper?

    Thank you

    It depends on the code that you are proposing.

    If you are using bind variables and/or analyze only once, your application is scalable and the number of users is not serious.

    As part of the memory is to be locked during analysis, analysis each time or do not use do not bind variable, your application allows serialize access to the database, and the amount of resources will be directly dependent on the number of users. In doing so, your app is impassable.

    The number of users will now be certainly serious.

    ----------

    Sybrand Bakker

    Senior Oracle DBA

Maybe you are looking for

  • Firefox will not load a Web site if the assets are missing from the page

    Some sites Web page can try to include a CSS or JS asset that is missing. In this case, Firefox 30 seems to hang and the page never loads. This happens even in Safe Mode. Other browsers have no problem loading these pages. I can give you two example

  • Did you get what you need to run the AVG safe search bar?

    When your notice first popped up asking me if I wanted to update, he said with him that he had not yet the ability to run AVG safe search bar. So I waited to download the new version until you have this feature.

  • Tecra M5 will not be on when the power button press

    I just sent my Tecra to a new location and at startup, nothing happens. The power light and the charge battery lights up, but nothing else. Could something have loosened up, which causes the computer does not start. I don't have a recovery CD. Any su

  • Get 201300 on DAQmx_Read_ChannelsToRead

    MAX version 14.5.0f0 DAQmx version 14.2 Hi, I'm stating to resemble the recording feature. I created a task to the MAX with 4 channels on a simulated device USB-6255. Set logging to the log mode and read Then in my C++ code that is fully functional f

  • Can't turn on clip

    When I connect to my computer, I have the clip shows as load and I can see all my music, and the battery shows 98%. But when I disconnect, the clip will not illuminate. I tried holding the power switch for 15 seconds, but this good dd Any ideas on wh