Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Row Migration
Oracle uses the pointer because otherwise all indexes on that
table would have to be updated to reflect the new row address.
That would mean more IO (update table + index blocks + undo blocks
+ redo) for a transaction.
"Rahul" <rahul.nimmagadda_at_gmail.com> wrote in message
news:1184775664.057413.33100_at_i13g2000prf.googlegroups.com...
> Hello all,
>
> I have the following doubt regarding Row Migration. First let me
> explain my understanding of Row Migration -- When the space in a
> particular block is not sufficient to accommodate a row growing as a
> result of an update operation because of the low value of PCTFREE,
> results in Row Migration. Then the oracle server will move the entire
> row to a new block and leave a pointer from the original block to the
> new location. This results in the decrease of I/O performance.
>
> My Query --
> Instead of having a pointer from the original block to the new block,
> why doesn't oracle server delete the information about that particular
> row in the row directory slot of the original block and put the
> information about the row in the row directory slot of the new block
> as it is anyway moving the entire row to a new block. This can
> increase I/O performance as the number of I/Os required are less than
> the previous scenario.
>
> Thanking you,
> Rahul.
>
Received on Wed Jul 18 2007 - 11:35:25 CDT
![]() |
![]() |