On 20 Oct 1997 22:51:09 GMT, "Cam White" <info_at_revealnet.com> wrote:
>When doing index builds be sure to do "select count(*) from
>;" where
>is the name of the table on which the index is being built. This will clear
>any dirty blocks associated with the table out of memory and ensure a
>consistent read.
It is not clear what you mean?
- Are you saying that this will force a cleanout of any dirty
transaction slots in the table's blocks? If so, yes this was true on
versions prior to 7.1.5, and meant that the subsequent consistent read
for the index build did not have to do block cleanouts itself, and
resulted in better control of DBWR's I/O pattern, but no overall
reduction in workload. Nowadays, cleanouts of the table's blocks do
not result in the block being marked as dirty and so there is no issue
here.
- Alternately, are you saying that it will flush dirty blocks for the
table to disk, and do an immediate cleanout in the process? If so,
this is not necessarily true depending on the size of the table
relative to the cache, and is of no real benefit anyway.
- Or have I missed the point entirely?
Regards, Steve Adams
steve_adams_at_acslink.net.au (remove the underscore)
Received on Tue Oct 21 1997 - 00:00:00 CDT