「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > commited vs. repectable read in sql server:違いは何ですか?

commited vs. repectable read in sql server:違いは何ですか?

2025-01-29に公開
ブラウズ:352

Read Committed vs. Repeatable Read in SQL Server: What's the Difference?

「コミュニティを読む」と「再現可能な読み取り」分離レベル:in -Depth Higrans

SQL Serverの「読み取りコミュニティ」と「再現可能な読み取り」分離レベルはすべてデータの一貫性を保証しますが、その重要な違いは無視できません。

コミュニティの分離レベルを読む

] 読み取りコミュニティは、トランザクションが表示される前に、トランザクションのデータ読み取りが提出されることを保証します。ただし、データがデータで更新され、同じデータが再度読み取られると、結果は一貫しています。

レパート可能読み取り隔離レベル

を読む

対照的に、繰り返し可能な読み取りはより高いレベルの一貫性を提供します。データの読み取りが提出されたことを保証するだけでなく、トランザクション全体でデータが変更されないことも保証されます。他のトランザクションが更新されたとしても、元の読み取り結果は一貫しています。

次のシーンを考慮して、表Tには「1」の値の列Cが含まれています。

transaction; [tから *]を選択します。 遅延を待つ'00:01:00 '; [tから *]を選択します。 専念;

読み取りcommitted:

2番目のSelectステートメントは、データが遅延中に変更される可能性があるため、更新または変更されたデータを返す場合があります。
BEGIN TRANSACTION;
SELECT * FROM T;
WAITFOR DELAY '00:01:00';
SELECT * FROM T;
COMMIT;
  • その他の分離レベル
  • 読み取りコミュニティとレパート可能な読み取りに加えて、SQL Serverも他の分離レベルを提供します:
  • Serializable:
  • を完全に分離して、操作を削除、挿入する、または挿入するのを防ぐため。

Snapshot:はシリアル化可能に似ていますが、スナップショットを使用して、同時トランザクションをブロックせずに一貫性を提供します。

正しい分離レベルを選択

を選択します
    分離レベルの選択は、特定のアプリケーションのニーズに依存します。より高い分離レベルは一貫性を保証しますが、スケーラビリティとパフォーマンスにも影響を与える可能性があります。繰り返し容認できるアプリケーションの場合、読み取りコミュニティは適切な分離レベルです。一貫性があり、トランザクションの実行中にデータの変更に耐えられないアプリケーションの場合、繰り返し可能な読み取りを使用することをお勧めします。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3