2011-10-05 80 views
3

我正在阅读Holgerwa's问题,我有一个问题。dbExpress vs本地驱动程序

从dbExpress更改为其他驱动程序特定是否有任何显着的性能改进?

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

回答

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。与其他许多领域相似。

3

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

  • 对于不需要特定的功能,这样你就可以达到某种万物dbExpress驱动不同数据库系统之间的可移植性,同时陷入Delphi标准组件,代价是性能略有下降。

  • 真正本地驱动程序/组件的设置(如IBX)仅适用于dbExpress的不能满足,像创建数据库,做一个备份/恢复或做某种类型的维护数据库特定的具体特点供应商。本地驱动程序也可用于优化高速模块,如批量加载操作。

还有第三种方式,通过使用第三方数据库无关的组件,如UniDACAnyDAC,即,根据其开发商,更轻便,更优化,比的dbExpress功能更强大,同时保留数据库独立性和对特定功能的一些访问。

相关问题