我有一个表格可以说Orders(id, ORDERDATE)
,此表每天都会在ORDERDATE
列上进行分区。
当我在插入theam后一周更改某些记录的ORDERDATE
列时,是否会将记录移至其他分区?
使用Oracle 11g ...
答案 0 :(得分:3)
是和否。你必须启用它:
alter table orders enable row movement;
有些文档说“必须执行行动!!!”等等。行动不是那么危险。你必须记住,你不能坚持存储在某个地方的ROWID,因为当移动行时ROWID会改变。 但是你很可能还没有使用ROWID。
此外,移动(更新)在内部实现为纯行删除和插入。所以它可能会产生更多的redologs。而不是它是一个“真正的”表更新。
这也可能“浪费”一些空间。即使所有行都被移出,分区段也永远不会减少。