下面这两段SQL,本意是用循环造数据用作压力测试用的,脚本的效率不高,大家不要吐槽。
在执行了这两句后,能够造出一百万左右的数据。
后来测试完了,把fcs_cls_app表清空,只留几条数据或者没有数据的时候,增删改查这个表就会变得非常的慢,哪怕几条数据都会要很长时间,几乎一分钟吧,十分的诡异。
我后来把fcs_cls_app这个表drop掉重新创建,就好了,增删改查都是正常的速度。
请问这会是什么原因呢?
本来没有考虑过这个脚本引起的问题的,然后今天有个同事也需要造数据做压测,我就把我写的这个脚本发给他改一下用了,然后出现了和我一样的情况:测试完了,表里面数据只有6条都要查询很长的时间!
(操作都是在PLSQL11客户端上进行的,但是很明显的能够感觉到系统运行时与这个表相关的操作也会变得很慢)
create table test as select * from fcs_cls_app;
--造数据
declare
i integer;
my_num integer;
begin
i:=1;
my_num:=1;
for i in 1..20 loop
delete from test;
insert into test select * from fcs_cls_app;
update test t set t.appsheetserialno = t.appsheetserialno + my_num;
insert into fcs_cls_app select * from test;
my_num:= my_num*2;
commit;
end loop;
end;
撒科打诨
相关分类