Home » RDBMS Server » Performance Tuning » Method of Tuning Database - row reduction
Method of Tuning Database - row reduction [message #480029] Wed, 20 October 2010 13:40 Go to next message
palhello
Messages: 15
Registered: November 2008
Junior Member
There is a simple way to increase the performance of a query by reducing the row-size of the table it hits. I used it in the past by dividing the table into smaller parts and querying respective smaller table in each query.

Does anyone know what is this method called ? just forgot the method and can't recall it. Anyone knows what this type of row-reduction optimization is called ?

Re: Method of Tuning Database - row reduction [message #480030 is a reply to message #480029] Wed, 20 October 2010 13:44 Go to previous messageGo to next message
BlackSwan
Messages: 26766
Registered: January 2009
Location: SoCal
Senior Member
>Does anyone know what is this method called ?
Some might call it "de-normalization"; while others would call it "foolish".
Re: Method of Tuning Database - row reduction [message #480040 is a reply to message #480029] Wed, 20 October 2010 15:11 Go to previous messageGo to next message
Michel Cadot
Messages: 68647
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator
Have a look at Normalization wiki page.

Regards
Michel
Re: Method of Tuning Database - row reduction [message #480053 is a reply to message #480040] Wed, 20 October 2010 17:49 Go to previous messageGo to next message
rleishman
Messages: 3728
Registered: October 2005
Location: Melbourne, Australia
Senior Member
I call it "vertically partitioning" a table. There are rational reasons to do this, but improving query performance is typically not one of them unless you have rows that exceed 1 database block in size.

The reason is that Oracle reads and writes BLOCKS, not ROWS. When you read a row via an index, it has to read the entire block regardless of how big the row.

For very big tables, shorter rows may improve Full Table Scans, but these benefits will quickly be lost the first time you need to Full Scan with one of those migrated columns and perform a monolithic join operation.

If you have a performance problem, it is likely that there are other causes.

Ross Leishman
Re: Method of Tuning Database - row reduction [message #480054 is a reply to message #480053] Wed, 20 October 2010 17:58 Go to previous messageGo to next message
BlackSwan
Messages: 26766
Registered: January 2009
Location: SoCal
Senior Member
>There is a simple way to increase the performance of a query by reducing the row-size of the table it hits.
Based upon this "logic" every table should be only 2 columns; KEY & VALUE
Re: Method of Tuning Database - row reduction [message #483144 is a reply to message #480054] Thu, 18 November 2010 11:45 Go to previous messageGo to next message
palhello
Messages: 15
Registered: November 2008
Junior Member
Thanks, I think I was referring to slicing. It is not the "ideal" way to optimize but still if you dynamically change the table name in run-time then a query would always hit the table having much lesser rows and the performance seems to be better (depends on how you see this Smile ). But ofcourse, this is not ideal for most systems and depends upon how the system is built.
Re: Method of Tuning Database - row reduction [message #483181 is a reply to message #483144] Thu, 18 November 2010 23:34 Go to previous message
rleishman
Messages: 3728
Registered: October 2005
Location: Melbourne, Australia
Senior Member
Um, now you're talking about fewer rows - before you were talking about fewer columns (reduced row width).

Having the rows of a table grouped into segments that can be scanned independently of the the entire table is called PARTITIONING. Oracle supports it natively.

Ross Leishman
Previous Topic: Help me find the SQL using hash value? (ORA-00060)
Next Topic: Index with NVL
Goto Forum:
  


Current Time: Sat Apr 27 21:14:18 CDT 2024