下周要到西安进行Interbase2007的技术研讨会。
不知道国内是否还有Interbase的使用者。Interbase是一种非常棒的数据库产品,速度奇快,在同样的硬件环境下速度比MSSQL快很多。在2007版中增加了很多新的功能,解决了很多Interbase以前的问题。
感觉最棒的两个功能是在线增量备份和批量更新。
在线增量备份,就像名字上写的那样,可以在基本不影响前台工作的前提下比较快速的将数据库进行备份。我作了一个实验,当第一次对一个1.5G的数据库进行online dump(增量备份也叫在线倾倒)的时候用了40分钟(不好意思,机器比较老旧),然后向数据库里面插入了一万条记录,然后再执行相同的命令,两分钟完成。在Dump的同时进行的数据库操作会比平时慢一些,但是还是可以接受的。当数据库发生问题的时候,可以直接将Dump的文件作为Interbase数据库进行加载,基本上可以做到无缝实时恢复。有了这个技术基本上可以保证我们的程序每30分钟到60分钟进行一次增量备份。
增量备份的实现方法对于Delphi程序员来说主要有两种:
1、命令行:
gbak -d dbtest.gdb dbtest.dmp -user sysdba -pass masterkey
第一次执行这个命令的时候会进行一次完整的备份。以后每次执行就进行增量备份。
如果键入
gbak -d dbtest.gdb dbtest.dmp -user sysdba -pass masterkey -ov
则进行一次强制的完整备份。
2、通过IBX组件实现同样的功能:
Interbase2007提供了新的IBX组件,其中IBDatabase支持增量备份。
首先在IBDatabase1中设置好数据库连接,然后执行下面的这个语句完整增量备份动作(建议在后台线程里面执行):
IBDatabase1.OnlineDump([‘dbtest.dmp’], [], false, false);
这个函数一共有四个参数,第一个是dump文件数组,可以有多个dump文件;第二个是文件容量数组,如果有多个dump文件,你就必须告诉Interbase每个文件的容量是多大,当前面的文件满了,才开始写后面的文件,最后一个文件的容量一般不写;第三个参数是确定是进行增量备份还是全备份,如果是true的话就是全备份,所以我们使用false进行增量备份;第四个参数是是否overwrite整个dump文件,如果是true的话,就相当于在命令行的时候加了’-ov’这个参数。
批量更新准许我们把一批SQL语句(insert、update、delete)一起提交到数据库服务器中去,统一执行。我试过了,插入一千条记录所用时间基本上是逐条插入的三分之一。
应用方法:
使用IBScript组件,
IBScript1.Script.Clear;
IBScript1.Script.Add(‘Batch Start;’);
IBScript1.Script.Add(‘Insert …….;’);
…
…
…
IBScript1.script.Add(‘Batch Execute;’);
IBScript1.ExecuteScript;
注意事项:开始的第一句是Batch Start ,最后一句是Batch Execute ,每句都以分号结尾, 里面的语句不要太多,我试过2000条没什么问题,但是我的字段比较少,所以建议大家控制在500~1000条之间。
先写这些,其它的新功能我正在研究,等登过一段时间在和大家分享。
Both comments and pings are currently closed.
wow gold!All wow gold US Server 24.99$/1000G on sell! Cheap wow gold,wow gold -41794604284008
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling -156105091486274