使用计算索引复制oracle表

时间:2017-12-12 11:23:29

标签: oracle copying database-indexes

我想知道我是否可以从具有完全相同结构的另一个表复制oracle表内容。我想复制所有数据(有时是其中的一部分),包括计算的索引。也就是说,我不想重做索引的计算,也不想重建它们。可以这样做吗?一个相关的问题:oracle在计算索引时将信息存储在哪里?

2 个答案:

答案 0 :(得分:0)

我怀疑你可以将计算出的索引复制到另一个表中。但是你可以将整个内容复制到另一个表中,如

创建表目标为 从源中选择*;

索引信息可以在all_indexes中看到。

答案 1 :(得分:0)

您无法将计算的索引复制到另一个表,因为索引包含ROWID是表行的物理地址(对象标识符,文件标识符,块ID,块中的偏移量)。 您必须为新表创建自己的索引。 新索引的行将包含新表的物理地址。 (新对象标识符,文件标识符,块标识符,块中的偏移量)

要提高索引创建速度,可以使用并行索引创建。 并行索引构建/扫描仅适用于企业版。

CREATE INDEX    my_idex    ON     my_table(p1, p2, p_id) PARALLEL 35;