Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: performance problem : tkprof show many fetches with high elapsed time
Matt,
thanks for the answer.
My database is 9207 and I have run the tkprof with waits=y but it does
not show in the tkprof. Do not know why. So we get no indication where
my session is waiting for. That is too bad. Any idea how I can see the
waits anyway ?
I am very sure about the uniqueness of the ID column (there is an unique index on it) but I am not so sure that the batch table contains only 1 record during the update (developer assures me this ...). So you too think that the update statements has updated more than 6000 records ?
Benny.
mccmx_at_hotmail.com schreef:
> > Anyone knows why this
> > very simple update takes 868 seconds to complete for 12
> >
> > updates of each time one record since ID is unique ?
>
> Benny,
>
> You have a large difference between 'elapsed time' (852.74) and 'cpu
> time' (54.04) for that statement. This time is spent waiting for
> something. You can only work out what that something is by looking at
> the wait events by using waits=y in tkprof. What database version is
> this..? Only versions of tkprof higher than 9i can display these wait
> events.
>
> I will take a guess that most of the wait time is spent reading blocks
> from disk because you are doing a large amount of physical I/O (82,456
> reads). But this is a dangerous assumption. Only by looking at the
> waits will you be 100% sure where the time is going.
>
> By the way - are you 100% sure about uniqueness... if ID is unique you
> should be updating only 1 row but you are actually updating over 6000
> rows. I think you need to take another look at the database design.
>
> Cheers
>
> Matt
Received on Thu Jan 04 2007 - 02:45:45 CST