ホームページ >データベース >mysql チュートリアル >データベース分離レベルとは何ですか?

データベース分離レベルとは何ですか?

王林
王林オリジナル
2020-10-23 14:23:4221300ブラウズ

データベース分離レベルには、1. コミットされていない読み取り、2. コミットされた読み取り、3. 反復可能な読み取り、4. シリアル化が含まれます。一般に、分離レベルが低いほど高い同時実行性がサポートされ、システムのオーバーヘッドが低くなります。

データベース分離レベルとは何ですか?

#この記事の動作環境: Windows7 システム、Dell G3 コンピューター、mysql8。

1. トランザクションの概念

トランザクション内の一連の操作は、すべて成功するか、まったく実行されないかのどちらかです。

トランザクションを終了するには 2 つの方法があります。トランザクション内のすべてのステップが正常に実行されると、トランザクションはコミットされます。いずれかのステップが失敗すると、ロールバック操作が発生し、トランザクションによって実行されたアクションが元に戻されます。

2. トランザクションの特性 ACID

トランザクションには、原子性 (Aomicity)、一貫性 (Consistency)、分離 (Isolation)、耐久性 (Durability) の 4 つの特性があり、ACID プロパティと呼ばれます。

3. 複数のトランザクションの同時実行に関する問題

(1) ダーティ リード: トランザクション 1 はレコードを更新しましたが、コミットしませんでした。トランザクション 2 は更新された行を読み取り、その後トランザクション T1 が返されました。ロール、現在 T2 読み取りは無効です。

(2) 反復不可能な読み取り: トランザクション 1 がレコードを読み取ると、トランザクション 2 はレコードを更新して送信します。トランザクション 1 が再度読み取ると、トランザクション 2 の変更されたレコードが表示されます。

(3) ファントム読み取り: トランザクション 1 がレコードを読み取ると、トランザクション 2 がレコードを追加して送信します。トランザクション 1 が再度読み取ると、トランザクション 2 によって追加されたレコードが表示されます。

4. 4 つの分離レベルトランザクション

SQL 標準では 4 種類の分離レベルが定義されています。これには、トランザクションの内外でどの変更が表示され、どの変更が表示されないかを制限するためのいくつかの特定のルールが含まれます。一般に、分離レベルが低いほど高い同時実行性がサポートされ、システムのオーバーヘッドが低くなります。

データベース分離レベルとは何ですか?

関連する推奨事項:

mysql チュートリアル

(ビデオ チュートリアルの推奨事項:

mysql ビデオ チュートリアル)

以上がデータベース分離レベルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。