dbExpress与本地驱动程序的区别

3

我在阅读Holgerwa的问题,我也有一个问题。

更改从dbExpress到其他特定驱动程序是否会带来显着的性能提升?

我们可以使用dbExpress并仍然使用特定的DB引擎功能吗?

2个回答

9
  1. 根据使用的dbExpress驱动程序和“其他驱动程序”进行比较。但是,一个好的库可能比标准的dbExpress驱动程序更快。您可以在这里看到我们的基准测试结果。其中,TADQueryAnyDAC查询对象。Borl TSQLQuery是使用标准dbExpress驱动程序的Delphi TSQLQuery。

  2. 是的,如果某个功能通过数据库SQL语言可访问,则可以访问该功能。否则,如果某个功能通过数据库客户端API可访问,则不可以。例如,使用SQL Server dbExpress驱动程序,您可以使用BACKUP DATABASE SQL命令备份SQL Server数据库。但是,使用Firebird dbExpress驱动程序,您无法备份Firebird数据库,因为这需要使用Firebird服务API。其他许多领域也是如此。


3
你可以在同一个项目中同时使用这两种类型的驱动程序:
  • 对于不需要特定功能的所有事情,您可以使用 dbExpress 驱动程序,因此您可以在保持 Delphi 标准组件的同时,在不同的数据库系统之间实现某种可移植性,但代价是一些性能下降。

  • 对于 dbExpress 无法解决的特定功能(例如创建数据库、执行备份/还原或执行特定于数据库供应商的某些维护操作),只需使用真正的 本机驱动程序/组件集(如 IBX)。本机驱动程序还可以用于优化需要高速度的模块,例如批量加载操作。

还有第三种方法,即使用第三方数据库无关组件,例如 UniDACAnyDAC,根据其开发人员的说法,这些组件比 dbExpress 更轻巧、更优化和更强大,同时保持数据库独立性和对特定功能的访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接