How long to commit?

Question:

How long does it take Oracle 8.0.5 to execute a commit?  I want to
avoid running out of resources required to run a large query by using
commits every n records but also want to minimizing the execution time
of the query by not doing more commits than necessary.

Answer 1:

Oracle 8 uses the same fast commit logic it used with ver 7, namely, on
a commit Oracle flushes the redo log buffer to disk, but allows the
database writer to get around to writing the changed data whenever it
gets around to it (lazy writes).  Because a commit requires writing to
the redo log it is relatively expensive so you are correct in that you
do not want to over commit, but I think you want to base your commit
frequency based on the likelihood that another session will want to
update one of the rows your process updated and how long it is
acceptable for them to wait.  That and the total number of bytes worth
of rollback you want to limit a transaction to using.

Answer 2:

This is in addition to Mark's advice, which is correct, but if you are just
running a "query" as your question states you don't  have to worry about
commits as you are not altering/updating data, basically you are only
reading the data.

Answer 3:

Not always true. You could be doing block cleanout .........

Hosted by www.Geocities.ws

1