<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FPL_SQL_Statements%2FTiming_a_Statement</id>
		<title>Oracle PL/SQL Tutorial/PL SQL Statements/Timing a Statement - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FPL_SQL_Statements%2FTiming_a_Statement"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/Timing_a_Statement&amp;action=history"/>
		<updated>2026-05-25T23:19:19Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/Timing_a_Statement&amp;diff=3194&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/Timing_a_Statement&amp;diff=3194&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/Timing_a_Statement&amp;diff=3195&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/Timing_a_Statement&amp;diff=3195&amp;oldid=prev"/>
				<updated>2010-05-26T10:05:38Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Timing a loop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2       c1     NUMBER NOT NULL,&lt;br /&gt;
  3       c2     VARCHAR2(30) NULL,&lt;br /&gt;
  4       c3     DATE NULL&lt;br /&gt;
  5       );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE test_time IS&lt;br /&gt;
  2       maxloops NUMBER := 5000;&lt;br /&gt;
  3       loopcount NUMBER(6,0) := 0;&lt;br /&gt;
  4       starttime CHAR(5) ;&lt;br /&gt;
  5       endtime CHAR(5) ;&lt;br /&gt;
  6&lt;br /&gt;
  7       runtime NUMBER;&lt;br /&gt;
  8       processrate NUMBER(20,10);&lt;br /&gt;
  9  BEGIN&lt;br /&gt;
 10       starttime := TO_CHAR(SYSDATE,&amp;quot;SSSSS&amp;quot;);&lt;br /&gt;
 11       LOOP&lt;br /&gt;
 12            loopcount := loopcount +1;&lt;br /&gt;
 13            INSERT INTO myTable (C1, C2,C3)&lt;br /&gt;
 14            VALUES (loopcount, &amp;quot;TEST ENTRY&amp;quot;, SYSDATE);&lt;br /&gt;
 15            COMMIT;&lt;br /&gt;
 16            IF loopcount &amp;gt;= maxloops THEN&lt;br /&gt;
 17                 EXIT;&lt;br /&gt;
 18            END IF;&lt;br /&gt;
 19       END LOOP;&lt;br /&gt;
 20       COMMIT;&lt;br /&gt;
 21       endtime := TO_CHAR(SYSDATE,&amp;quot;SSSSS&amp;quot;);&lt;br /&gt;
 22       runtime := TO_NUMBER(endtime)-TO_NUMBER(starttime);&lt;br /&gt;
 23       dbms_output.put_line(runtime || &amp;quot; seconds&amp;quot; );&lt;br /&gt;
 24       processrate := maxloops / runtime;&lt;br /&gt;
 25       INSERT INTO myTable (C1, C2, C3) VALUES&lt;br /&gt;
 26            (loopcount+1,&lt;br /&gt;
 27            TO_CHAR(processrate, &amp;quot;9999999999&amp;quot;)||&amp;quot; records per second&amp;quot;,&lt;br /&gt;
 28            SYSDATE&lt;br /&gt;
 29            );&lt;br /&gt;
 30  END test_time;&lt;br /&gt;
 31  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt; EXECUTE test_time;&lt;br /&gt;
5 seconds&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; SELECT * FROM myTable&lt;br /&gt;
  2  WHERE  c1 &amp;gt; 5000;&lt;br /&gt;
&lt;br /&gt;
        C1 C2                             C3&lt;br /&gt;
---------- ------------------------------ ---------&lt;br /&gt;
      5001        1000 records per second 03-JUN-07&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Timing loop in another loop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2       c1     NUMBER NOT NULL,&lt;br /&gt;
  3       c2     VARCHAR2(30) NULL,&lt;br /&gt;
  4       c3     DATE NULL&lt;br /&gt;
  5       )&lt;br /&gt;
  6  ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE test_time IS&lt;br /&gt;
  2       maxloops NUMBER := 5000;&lt;br /&gt;
  3       loopcount NUMBER(6,0) := 0;&lt;br /&gt;
  4       starttime CHAR(5) ;&lt;br /&gt;
  5       endtime CHAR(5) ;&lt;br /&gt;
  6&lt;br /&gt;
  7       runtime NUMBER;&lt;br /&gt;
  8       processrate NUMBER(20,10);&lt;br /&gt;
  9  BEGIN&lt;br /&gt;
 10       starttime := TO_CHAR(SYSDATE,&amp;quot;SSSSS&amp;quot;);&lt;br /&gt;
 11       LOOP&lt;br /&gt;
 12            loopcount := loopcount +1;&lt;br /&gt;
 13            INSERT INTO myTable (C1, C2,C3)&lt;br /&gt;
 14            VALUES (loopcount, &amp;quot;TEST ENTRY&amp;quot;, SYSDATE);&lt;br /&gt;
 15            COMMIT;&lt;br /&gt;
 16            IF loopcount &amp;gt;= maxloops THEN&lt;br /&gt;
 17                 EXIT;&lt;br /&gt;
 18            END IF;&lt;br /&gt;
 19       END LOOP;&lt;br /&gt;
 20       COMMIT;&lt;br /&gt;
 21       endtime := TO_CHAR(SYSDATE,&amp;quot;SSSSS&amp;quot;);&lt;br /&gt;
 22       runtime := TO_NUMBER(endtime)-TO_NUMBER(starttime);&lt;br /&gt;
 23       dbms_output.put_line(runtime || &amp;quot; seconds&amp;quot; );&lt;br /&gt;
 24       processrate := maxloops / runtime;&lt;br /&gt;
 25       INSERT INTO myTable (C1, C2, C3) VALUES&lt;br /&gt;
 26            (loopcount+1,&lt;br /&gt;
 27            TO_CHAR(processrate, &amp;quot;9999999999&amp;quot;)||&amp;quot; records per second&amp;quot;,&lt;br /&gt;
 28            SYSDATE&lt;br /&gt;
 29            );&lt;br /&gt;
 30  END test_time;&lt;br /&gt;
 31  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2      FOR trial_count IN 1..10&lt;br /&gt;
  3      LOOP&lt;br /&gt;
  4          test_time;&lt;br /&gt;
  5          COMMIT;&lt;br /&gt;
  6      END LOOP;&lt;br /&gt;
  7  END;&lt;br /&gt;
  8  /&lt;br /&gt;
4 seconds&lt;br /&gt;
3 seconds&lt;br /&gt;
4 seconds&lt;br /&gt;
4 seconds&lt;br /&gt;
3 seconds&lt;br /&gt;
4 seconds&lt;br /&gt;
3 seconds&lt;br /&gt;
3 seconds&lt;br /&gt;
4 seconds&lt;br /&gt;
4 seconds&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; SELECT   *&lt;br /&gt;
  2  FROM     myTable&lt;br /&gt;
  3  WHERE    c1 &amp;gt; 5000&lt;br /&gt;
  4  ORDER BY c3;&lt;br /&gt;
&lt;br /&gt;
        C1 C2                             C3&lt;br /&gt;
---------- ------------------------------ ---------&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
      5001        1667 records per second 03-JUN-07&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
      5001        1667 records per second 03-JUN-07&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
      5001        1667 records per second 03-JUN-07&lt;br /&gt;
      5001        1667 records per second 03-JUN-07&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
      5001        1250 records per second 03-JUN-07&lt;br /&gt;
10 rows selected.&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>