我发现特定表上使用的分区会损害查询性能,并且希望从表中删除这些分区。是否有捷径可寻?该表有 64 个分区。根据一些初步调查,我提出了以下选项。有更好的办法吗?
想法?
我个人认为选项 2 的变体听起来是最好的方法。
(*) 非分区表可能需要与分区表不同的索引。 如果您特别重视索引名称,可以在步骤 6 之后使用
ALTER INDEX ... RENAME TO ...
语法。
这种方法的优点是可以最大限度地减少停机时间(基本上是步骤 3、4 和 5)。
对表进行分区可能会损害查询性能,但也可以提高性能...... 这取决于您的技术解决方案的设计,使用正确的索引、提示等...
如果您想从表中删除分区而不需要停机并使正在使用表的其他对象失效,您可以使用
dbms_redefinition
,它将在您配置命令时分析和移动索引。