Db日期分区更改

时间:2015-03-27 12:03:13

标签: database oracle partitioning

我有一个表格可以说Orders(id, ORDERDATE),此表每天都会在ORDERDATE列上进行分区。

当我在插入theam后一周更改某些记录的ORDERDATE列时,是否会将记录移至其他分区?

使用Oracle 11g ...

1 个答案:

答案 0 :(得分:3)

是和否。你必须启用它:

alter table orders enable row movement;

有些文档说“必须执行行动!!!”等等。行动不是那么危险。你必须记住,你不能坚持存储在某个地方的ROWID,因为当移动行时ROWID会改变。 但是你很可能还没有使用ROWID。

此外,移动(更新)在内部实现为纯行删除和插入。所以它可能会产生更多的redologs。而不是它是一个“真正的”表更新。

这也可能“浪费”一些空间。即使所有行都被移出,分区段也永远不会减少。