Some Tips about Interbase

 关于interbase (转自yangdong)

InterBase一直被相当数量的接触过它的开发人员认为是不能胜任关键任务的数据库。在我的实际开发中,我也确实遇到了他们遇到的问题。然而经过了长期的使用,我发现,绝大多数的问题和困难都是对此数据库不了解、使用方法不当造成的。后来许多开发中的问题都得到了解决,此后再看InterBase,发现它是一个相当可信、可靠的数据库。那么,我想把InterBase数据库开发中的注意事项列举出来,希望大家能够批评指正。
1、要选择正确的InterBase版本。Borland发布的较好的版本是6.0.1.6版,这个版本是最好的borland官方版本。但是,我本人更倾向于FireBird版,它是公开源代码免费版,网址为http://www.ibphoenix.com/。很可能这个版本比Borland版本更稳定可靠,更新更持续。
2、不要用BDE访问InterBase,推荐用IBX或DBExpress。前者具备更多的服务器端API,能够更全面的控制和访问数据库。特别该注意的是,IBX元件一定要升级,开发人员应经常到http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102去看IBX元件更新和其他IB开发中有用的资源。
3、要使用恰当的开发工具。例如EMS QuickDesk或IBExpert。网址为http://www.ems-hitech.com,/http://www.ibexpert.com/
4、建立数据库对象时一定要使用大写,因为InterBase6本身支持大小写敏感的对象名称,但象IBX这样的元件却不能认识小写InterBase对象
5、建库时,CharSet一定要选NONE。如果选择GB2312或Big5,反而会造成错误。
6、开发中,大批量提交数据,一定不要使用ibtable.insert这种方法,而应使用ibquery中执行insert into语句的方法,或者使用存储过程
7、InterBase系统中transaction一定不要长期的处于pending的状态,比如,已经在某Transaction中进行了更新2000条数据的动作,但该Transaction却一直悬而未决,不commit。而是应该让Transaction生存期尽量的短,每个Transaction中的数据更改不可过于庞大。例如,我推荐用ClientDataSet进行数据的更新,当打开ClientDataSet时,就开启一个Transaction,将数据从库中取出,然后立刻关闭该Transaction,到提交更新时再次开启一个transaction,进行数据更新。这种方法应用到客户量繁多、或Web系统上,比较合理。
8、要充分发挥InterBase6的Transaction特性。对于IBX元件访问方式,应该双击IBTransaction元件,选择交易模式为ReadCommited。
9、开发Delphi Web程序时使用InterBase数据库,一定要选择远程连接方式,即要设定服务器名称,即使WebServer和InterBase处在相同的机器上。用InterBase和InternetExpress开发Web程序,一定要在工程源代码的uses列表最前端按顺序加入4个unit: IBIntf,IBSQLMonitor,XMLBrokr,MidProd,
10、不要使用过于复杂的嵌套查询。我觉得,绝大多数的多级嵌套查询都可以Flatten掉,或者用存储过程解决问题
遵循一定的原则和方法,我发现InterBase/FireBird用起来感觉不错。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值