2

我试过下面的说法。但它不会并行进行。为什么?我怎样才能加快操作?

ALTER SESSION ENABLE PARALLEL DML;

DELETE /*+ parallel(20) */
      FROM  table
      WHERE flag != 'N';

在此处输入图像描述

4

1 回答 1

1

尝试

ALTER SESSION ENABLE PARALLEL DML;
DELETE /*+ parallel(table, 20) */
  FROM  table
  WHERE flag!= 'N';

您还可以尝试使用 CTAS 删除数据的另一个选项,参考 asktom从大表中删除许多行

create table new_table unrecoverable as select * from old_table where ....;

删除表 old_table;

将 new_table 重命名为 old_table;

在 old_table(c1,c2) 不可恢复的并行 5 上创建索引 old_table_idx1;

于 2013-07-17T09:28:42.250 回答