dbExpress vs本机驱动程序

时间:2011-10-05 15:48:13

标签: database delphi dbexpress

我正在阅读Holgerwa's问题,我有一个问题。

通过从dbExpress更改为其他特定于驱动程序,是否有显着的性能提升?

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

2 个答案:

答案 0 :(得分:9)

  1. 取决于要比较的dbExpress驱动程序和“其他驱动程序”。但是一个好的库可能比标准的dbExpress驱动程序更快。您可以查看我们的基准测试结果hereTADQueryAnyDAC个查询对象。 Borl TSQLQuery是使用标准dbExpress驱动程序的Delphi TSQLQuery。

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

答案 1 :(得分:3)

您也可以在同一个项目中同时使用这两种类型的驱动程序:

  • dbExpress驱动程序适用于所有不需要特定功能的东西,因此您可以在不同的数据库系统之间实现某种可移植性,同时又会遇到Delphi标准组件,代价是性能略有下降。

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

还有第三种方法,通过使用第三方独立于数据库的组件,如UniDACAnyDAC,根据其开发人员的说法,它们比它们更轻量级,更优化和更强大。 dbExpress,同时保留数据库独立性和对特定功能的一些访问权。