我正在处理一些问题,我正在创建数千个表并进行一些测试。
在下一次迭代中,我将删除这些表并再次重新生成它。但是通过这些步骤,我的数据库变得非常慢。
甚至它是我只工作的本地数据库,所以它的唯一效果是多次删除表。
任何人都知道在这种情况下提高数据库性能。我正在使用 UI 从 PL/SQL 开发人员那里删除这些表。
我正在使用 Oracle 11g。谢谢
主要瓶颈可能是 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;
/