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.
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