我正在研究一些问题,即创建数千个表并进行一些测试。
在下一次迭代中,我将丢弃这些表并再次重新生成它。但是通过这些步骤,我的数据库变得非常慢。
即使是我的本地数据库,我只在其中工作,所以它只能多次删除表。
任何人都有任何想法在这种情况下提高数据库性能。我正在使用UI从PL / SQL开发人员那里删除这些表。
我正在使用Oracle 11g。 感谢
答案 0 :(得分: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;
/