我想知道我是否可以从具有完全相同结构的另一个表复制oracle表内容。我想复制所有数据(有时是其中的一部分),包括计算的索引。也就是说,我不想重做索引的计算,也不想重建它们。可以这样做吗?一个相关的问题:oracle在计算索引时将信息存储在哪里?
答案 0 :(得分:0)
我怀疑你可以将计算出的索引复制到另一个表中。但是你可以将整个内容复制到另一个表中,如
创建表目标为 从源中选择*;
索引信息可以在all_indexes中看到。
答案 1 :(得分:0)
您无法将计算的索引复制到另一个表,因为索引包含ROWID是表行的物理地址(对象标识符,文件标识符,块ID,块中的偏移量)。 您必须为新表创建自己的索引。 新索引的行将包含新表的物理地址。 (新对象标识符,文件标识符,块标识符,块中的偏移量)
要提高索引创建速度,可以使用并行索引创建。 并行索引构建/扫描仅适用于企业版。
CREATE INDEX my_idex ON my_table(p1, p2, p_id) PARALLEL 35;