cds.RecordCount に問題はありますか?
通常、クエリにレコードがあるかどうかを判断するために使用します。
しかし、大学と話すと、それにはパフォーマンスのペナルティがあると彼は言いました!
私はいくつかのテストを行いましたが、大きなことは何も起こりませんでした。
では、パフォーマンスの低下や RecordCount に関するその他の問題はありますか?!
もしそうなら、クエリにいくつかのレコードがあるかどうかを確認する最良の方法は何ですか?
ありがとう
cds.RecordCount に問題はありますか?
通常、クエリにレコードがあるかどうかを判断するために使用します。
しかし、大学と話すと、それにはパフォーマンスのペナルティがあると彼は言いました!
私はいくつかのテストを行いましたが、大きなことは何も起こりませんでした。
では、パフォーマンスの低下や RecordCount に関するその他の問題はありますか?!
もしそうなら、クエリにいくつかのレコードがあるかどうかを確認する最良の方法は何ですか?
ありがとう
TClientDataSet を ('cds' が暗示しているように)を(デフォルト)にPacketRecords
設定して使用する場合と に設定して使用している場合、クライアント データセットはすべてのデータを一度に受信してメモリにロードするため、違いはありません。違いは、カーソルを進めるとオンデマンドでデータをフェッチする他のデータセットで顕著になります。使用すると、すべてのデータが最初にフェッチされます。このような場合、結果セットが空かどうかだけ知りたい場合は、開いた後にデータセットのプロパティを使用することをお勧めします。-1
FetchOnDemand
False
RecordCount
EOF
最善の解決策は、SELECT COUNT(*)
クエリを実行することです。
すべてのレコードがローカルに必要な場合は、FetchOnDemand
プロパティを に設定するか、直前にFalse
呼び出すことができます。cds.Last
cds.RecordCount
cds.IsEmpty
データセットにレコードが含まれているかどうかを確認することが目的の場合の方法もあります...