【发布时间】:2012-01-31 01:21:39
【问题描述】:
我正在将 Paradox 数据库应用程序转换为使用 SQL Server 2008 R2 编写的 Delphi 数据库应用程序。我们正在使用 Devart 的 UNIDAC 组件来访问数据库/表。但是,我发现性能相当缓慢。例如,在 Paradox 版本中,当它打开具有 100,000 条记录的表(使用 TTable)时或多或少是即时的,但 SQL Server(使用 TUniTable)大约需要 2 秒。现在我知道这看起来并不多,但是在创建表单时打开了 10 个 TUniTable 数据集,所有这些数据集都包含大约相同数量的记录,因此目前打开它们只需不到 20 秒。有人有任何性能提示吗?
我使用的是 Delphi 2007
【问题讨论】:
-
这与 UniDAC 无关。您应该从不对 SQL 数据库使用表类型访问;这意味着(对于几乎所有服务器),100% 的数据被传输到客户端。您应该改用查询,并使用特定的列列表和减少行数的 WHERE 子句来限制要检索的数据。
标签: delphi sql-server-2008 delphi-2007 devart unidac