0

Delphiで記述されたParadoxデータベースアプリケーションをSQLServer2008R2を使用するように変換中です。データベース/テーブルにアクセスするために、 DevartのUNIDACコンポーネントを使用しています。ただし、パフォーマンスがかなり遅いと感じています。たとえば、Paradoxバージョンでは、100,000レコードのテーブル(TTableを使用)を開くとほぼ瞬時になりますが、SQL Server(TUniTableを使用)には約2秒かかります。これはそれほど多くないように思われますが、フォームの作成時に開くTUniTableデータセットは10個あり、すべてにほぼ同じ数のレコードが含まれているため、現在、すべてを開くのに20秒弱かかります。パフォーマンスのヒントはありますか?

Delphi2007を使用しています

4

1 に答える 1

2

私見、UniDACTUniTableはの単なるラッパーですTUniQueryTUniTableopenを開くと、SQLServer上のすべてのレコードがフェッチされる可能性があります。方法はわかりませんが、SQLServerのカーソルの種類や場所を変更してみてください。

遅くない場合は、AnyDACTADTableの使用を検討してください。これは「ライブデータウィンドウ」テクノロジーを使用しており、大きなテーブルを大幅に遅らせることなく開いて閲覧することができます。たとえばOpenLast通話は常に高速になります。いくつかのBDEアプリケーションをAnyDACとFirebirdに移行しましたが、非常にうまく機能しTADTableます。

于 2012-01-31T04:12:50.023 に答える