求助:为什么我用的InterBase数据库的速度如此糟糕???
我正在做一个项目,用的是InterBase数据库,用户反映数据库增大的非常快,于是做了如下试验:(环境是Delphi6,赛扬II-900,256M内存,用了一个IBTable控件,并关联了一个事务处理的IBTransaction控件)
t:= now;
With IBTable1 do
begin
Open;
for i:= 0 to n do
begin
for j:= 0 to 99 do
begin
Append;
FieldValues['Date']:= t;
FieldValues['A']:= j;
FieldValues['B']:= i;
FieldValues['E1']:= 99.99;
FieldValues['E2']:= 11.11;
Post;
end;
end;
end;
IBTransaction1.Commit;
结果居然发现,当i的循环次数n分别是9、19、29、39时(即往同一张表内增加1000、2000、3000和4000条记录),增加记录的速度变得非常慢!数据对比如下:
增加记录数 表的大小 耗费时间
原始表 860,160 字节 -
1000 条 925,696 字节 9.764 秒
2000 条 1,064,960 字节 71.258 秒
3000 条 1,277,952 字节 205.745 秒
4000 条 1,556,480 字节 671.255 秒
最后我没有试验n为99时,即增加10000条记录的情况,因为才增加4000条这样的速度已经太糟糕了。
有谁能帮帮我,为什么仅仅增加4000条记录,耗费的时间就高达10分钟以上了?!是不是InterBase需要有什么特别的配置技巧呢?
前面有一位大哥发贴说“InterBase速度惊人! (sztony ) ”,可是在我这里为何如此糟糕呢?