1

我正在处理一些问题,我正在创建数千个表并进行一些测试。

在下一次迭代中,我将删除这些表并再次重新生成它。但是通过这些步骤,我的数据库变得非常慢。

甚至它是我只工作的本地数据库,所以它的唯一效果是多次删除表。

任何人都知道在这种情况下提高数据库性能。我正在使用 UI 从 PL/SQL 开发人员那里删除这些表。

我正在使用 Oracle 11g。谢谢

4

1 回答 1

1

主要瓶颈可能是 PL/SQL Developer GUI。处理大量对象或窗口时可能会很慢。

例如,当我创建 1000 个表时:

begin
    for i in 1 .. 1000 loop
        execute immediate 'create table table'||lpad(i,4,'0')||'(a number)';
    end loop;
end;
/

从 GUI 中删除它们需要 70 秒,但使用此脚本只需 20 秒:

begin
    for i in 1 .. 1000 loop
        execute immediate 'drop table table'||lpad(i,4,'0');
    end loop;
end;
/
于 2012-07-17T06:54:57.443 回答