Re: How to check if index was updated?

  • From: David Aldridge <david@xxxxxxxxxxxxxxxxxx>
  • To: rjamya@xxxxxxxxx
  • Date: 27 Apr 2006 06:36:36 -0700
  • Date: Thu, 27 Apr 2006 07:35:55 -0600

I'm surprised that the developers have apparantly settled on this method
without understanding the performance implications first, especially
with fast operation being the first priority and all. ;)

My recollection, and I think I gained this from Jonathan Lewis, is that
"changing" a value to itself does produce logging of that value in the
table, but the index is not modified. So updating every column whether
the values have all changed or not is a poor choice performance-wise
because of excessive table logging, not index logging.

Measuring the redo seems to be a pretty straightforward way of
validating this.

rjamya wrote:
my developers do, because they are designing a new application and
almost all code will use this new syntax to update thw whole row at a
time, albit only some columns may have been modified in a row.

Since they are assuming that about 90+% the indexes columns may not
get updated, would it be wise to use this syntax if it will cause
index operations that are completely un-necessary? Mind you, these
guys sometimes write queries that *must* return within 400ms, so fast
operation is the first priority.

I want ot find out if there is an easy way other than dumping blocks
or logfiles that my developers can also test.

I am trying to find syntax to use bbed to show the dump, hopefully
that would be prettier than blockdump.

Raj



-- //www.freelists.org/webpage/oracle-l


Other related posts: