sql >> データベース >  >> RDS >> Sqlserver

レコードの読み取り中に SQL トランザクションを使用する必要がありますか?

    1 回のクエリですべてのレコードをクエリし、それらを 1 回で取得する場合は、その必要はありません。すべてが暗黙のトランザクションにラップされます。つまり、たとえ 100 万件のレコードが返されたとしても、他のプロセスがレコードを変更していたとしても、100 万件すべてのレコードが同じ時点でどのように見えるかがわかります。

    読み取り専用プロセスで実際にトランザクション (および、多くの場合、特定のロック ヒント) が必要になるのは、次の場合のみです。繰り返しますが。 [ADO の接続されたレコードセットにカーソルを合わせます。]
    - データを読み取り、計算を行い、関連するデータを読み取りますが、その間何も変化がないと仮定します。


    つまり、他のプロセスが SQL ステートメント間でデータに干渉するのを止めたい場合、トランザクションが必要です。



    1. MySQLの日付間の月の違い

    2. 大きなバッファを作成せずに、.NETオブジェクトの大きなグラフをSQL Server BLOBにシリアル化するにはどうすればよいですか?

    3. LIKE'%...%'ワイルドカードクエリのPL/SQLパフォーマンスチューニング

    4. SQL Server で 2 つのタイムスタンプを日付として比較する方法