The RDB DAS uses the SDO Change Summary to generate a set of database write operations. Rather than generated a statement to update all columns in a table that maps to a SDO DataObject Type, the DAS generates statements that update ony those columns that map to a modified DataObject property. For example, consider a Customer DataObject that has had the LastName property changed. The partial update statement generated by the DAS will look something like this:

   UPDATE CUSTOMER SET LASTNAME = ? WHERE ID = ?

Rather than a statement that updates all columns like this:

   UPDATE CUSTOMER SET FIRSTNAME = ?, SET LASTNAME = ?, SET ADDRESS = ?, SET PHONE = ?, SET AGE = ?, SET SHOESIZE = ? WHERE ID = ?

There are a couple of very good reasons for using a partial update approach. For one, a performance boost can be realized by applications writing to wide tables. For example, tables with over 100 columns are not unheard of. It can be a huge waste of resource to update 100 columns when only one was modified. Another reason for partial update is that some databases employ triggers on specific columns in a table. Partial updates are necessary when column triggers are employed to avoid tripping the trigger on every row update rather than only on updates to the specific column.

PartialUpdate (last edited 2009-09-20 22:49:09 by localhost)