0

我正在将一个用Delphi编写的Paradox数据库应用程序转换为使用 SQL Server 2008 R2。我们正在使用Devart的 UNIDAC 组件来访问数据库/表。但是,我发现性能相当缓慢。例如,在 Paradox 版本中,当它打开具有 100,000 条记录的表(使用 TTable)时或多或少是即时的,但 SQL Server(使用 TUniTable)大约需要 2 秒。现在我知道这看起来并不多,但是在创建表单时打开了 10 个 TUniTable 数据集,所有这些数据集都包含大约相同数量的记录,因此目前打开它们只需不到 20 秒。有没有人有任何性能提示?

我正在使用德尔福 2007

4

1 回答 1

2

恕我直言,UniDACTUniTable只是TUniQuery. TUniTableopen 可能会导致获取 SQL Server 上的所有记录。不确定如何,但尝试更改 SQL Server 游标类型和/或位置。

如果还不晚,那么考虑使用AnyDACTADTable。它使用“实时数据窗口”技术,允许打开和浏览大表而没有明显的延迟,例如OpenLast调用总是很快的。我们将一些 BDE 应用程序迁移到 AnyDAC 和 Firebird,TADTable效果非常好。

于 2012-01-31T04:12:50.023 回答