3

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

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

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

4

2 回答 2

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

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

于 2011-10-05T16:09:06.903 回答
3

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

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

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

还有第三种方式,通过使用第三方独立于数据库的组件,如UniDACAnyDAC,据其开发人员称,这种方式比 dbExpress 更轻量级、更优化和更强大,同时保留了数据库独立性和一些特定的访问权限特征。

于 2011-10-05T21:12:22.750 回答