Re: Please define ROW CHAINING!!!

From: Jim Gregory <jim.gregory_at_DaytonOH.attgis.com>
Date: 1995/09/27
Message-ID: <DFKDCI.HI2_at_intruder.daytonoh.attgis.com>#1/1


When ORACLE inserts a row into a block, it does not pre-allocate space for null columns, it only uses what space in the block that is needed to store the actual data that is presented to it. Now, when an update is made to the row that causes it to expand, ORACLE will expand the row within the block if there is enough free space in the block to do so.

If there is not enough space in the block that the row is in, ORACLE will allocate another block, place the entire updated row in the new block, and then place a pointer in the old block where the row used to be to point to the row in the new block. This is the chain to the row.

Now, when this row gets selected, the index points to the old row location, ORACLE goes to that row, finds the pointer ( chain ) and then goes to get the row at the new block. This increases the number of disk reads needed to get a particular row so the more chaining you have the greater the performance hit.

Hope this makes sense to you
Jim Gregory

>>==========Nabil Courdy, 9/26/95==========
>>
>>I am teaching myself -trying to at least- Oraclle. I monitor this
>>newsgroup as one of my resources. Could someone please tell me
>>what Row Chaining is?
>>
>>Thank you.
>>
>>Nabil - ncourdy_at_winternet.com
>>

Views and opinions expressed are mine and do not reflect my empoyer's or client's. Received on Wed Sep 27 1995 - 00:00:00 CET

Original text of this message