1 回のクエリですべてのレコードをクエリし、それらを 1 回で取得する場合は、その必要はありません。すべてが暗黙のトランザクションにラップされます。つまり、たとえ 100 万件のレコードが返されたとしても、他のプロセスがレコードを変更していたとしても、100 万件すべてのレコードが同じ時点でどのように見えるかがわかります。
読み取り専用プロセスで実際にトランザクション (および、多くの場合、特定のロック ヒント) が必要になるのは、次の場合のみです。繰り返しますが。 [ADO の接続されたレコードセットにカーソルを合わせます。]
- データを読み取り、計算を行い、関連するデータを読み取りますが、その間何も変化がないと仮定します。
つまり、他のプロセスが SQL ステートメント間でデータに干渉するのを止めたい場合、トランザクションが必要です。