2
我发现特定表上使用的分区会影响查询性能,并希望从表中删除分区。是否有捷径可寻?有问题的表格有64个分区。根据一些初步调查,我提出了以下选项。有没有更好的办法?如何从Oracle表中删除表分区?
- 将数据复制到另一个表,删除所有分区,然后将数据
- 复制的数据复制回原始表到另一个表,删除原始表,然后重命名新表和重建索引
- 使用MERGE PARTITION将所有分区合并为一个分区
想法?
我发现特定表上使用的分区会影响查询性能,并希望从表中删除分区。是否有捷径可寻?有问题的表格有64个分区。根据一些初步调查,我提出了以下选项。有没有更好的办法?如何从Oracle表中删除表分区?
想法?
就我个人而言,我认为选项2的变体听起来像是最好的方法。
(*)非分区表可能会需要从一个分区不同的索引。如果您特别关注索引名称,则可以在步骤6之后使用ALTER INDEX ... RENAME TO ...
语法。
此方法的优点是可以最大限度地减少停机时间(基本上是步骤3,4和5)。
工作很好。感谢您的建议! – 2009-12-04 14:12:06