行移动
星期四, 十一月 22nd, 2007如果用于确定分区的列发生改变,我们需要考虑两种情况
一、修改不会导致使用一个不同的分区:行仍属于原来的分区
二、修改行会导致跨分区移动。只有当表起用了行移动时才支持。
alter table table_name enable row movement;
导致ROWID改变主要有以下几种情况。
因为更新ROWID会改变
更新IOT主键可能导致ROWID改变
10G中的FLASHBACK TABLE
ALTER TABLE SHRINK 等都有可能导致ROWID改变。
要尽量避免行移动,因为它的开销比UPDATE还大。要避免这种情况就要在构建系统时设计好。。
