title image


Smiley ORA im Ausführungsplan Ausführungszeit ausgeben / Ausführungszeit im PL/SQ
Moin,



kann mir einer bei dem oben genannten Problemchen weiterhelfen oder besser noch ein zwei Verständnisfragen klären



Ich würde gerne (im Ausführungsplan)wissen bzw mit ausgeben lassen wie lange ein sql dauert. Geht das?



2. Ich habe mal eine wenig code aus nem Oracle Buch "abgetippt" und er gibt mir eine Abfragezeit aus und ´bin mir nicht einmal sicher ob der Code das macht, was ich denke:



set autotrace on



declare

type rc is ref cursor;

x_start number default dbms_utility.get_time;

x_rc rc;

begin

for i in 1..120000

loop

open x_rc for

select* from pstp;

close x_rc;

end loop;

dbms_output.put_line( round( (dbms_utility.get_time-x_start)/100, 2 ) || 'seconds...');

end;

/



Ich denke mal, dass das tatsächlich die Zeit ist, die der Select* auf der DB benötigt um verarbeitet zu werden. Ist dem so?



die Tabelle pstp hat ca 120000 Datensätze ( for i in 1..120000). Wenn ich das Skript dann ausführe dauert es 5,5 Sekunden



ändere ich das Skript in for i in 1..1000 dauert es 0,06 Sekunden.



Blöde (?) Frage, werden dann nur die ersten 1000 Datensätze selektiert?



Gehe ich auf 1..1000000 dauert es ca 30 Sekunden (??? sind doch nur 120000 Datensätze).



Würde mir jemand ein paar kurze Tips geben, was die for Schleife macht?



Danke


________________________________

"Per Anhalter durch die Galaxis":

Nach nur 7,5 Millionen Erdenjahren war das Rätsel gelöst. Deep Thought verkündete mit unsagbarer Erhabenheit und Ruhe: 42!!

Antworten auf zwar weitaus weniger bewegende Fragen bekommst hier deutlich schneller:

SQL-Tips das SQL-Wiki

Bis Denne Frank


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: