データベースにロック機構が必要なのはなぜですか?コードを使用した詳細な例を教えていただけますか? ありがとうございます。
滿天的星座2017-05-18 10:56:59
たとえば、パニック購入のシナリオでは、10,000 人が商品を手に入れる可能性があります。ロック機構がない場合、この時点で誰に販売することになりますか?
高洛峰2017-05-18 10:56:59
データベースは、オペレーティング システムと同様、複数のユーザーによって使用される共有リソースです。複数のユーザーが同時にデータにアクセスすると、複数のトランザクションがデータベース内の同じデータに同時にアクセスします。同時操作が制御されていない場合、誤ったデータが読み取られて保存され、データベースの一貫性が破壊される可能性があります。ロックは、データベースの同時実行制御を実現するために非常に重要なテクノロジです。実際のアプリケーションでは、ロック関連の例外が頻繁に発生します。2 つのトランザクションが一連の競合するロックを必要とし、トランザクションを続行できない場合、デッドロックが発生し、アプリケーションの通常の実行に重大な影響を及ぼします。
データベースには 2 つの基本的なロック タイプがあります: 排他ロック (X ロック)
排它锁(Exclusive Locks,即X锁)
和共享锁(Share Locks,即S锁)
と 共有ロック (S ロック)
。 データ オブジェクトが排他的にロックされている場合、他のトランザクションはそれを読み取りまたは変更できません。共有ロックが設定されたデータ オブジェクトは、他のトランザクションから読み取ることはできますが、変更することはできません。データベースは、これら 2 つの基本的なロック タイプを使用して、データベース トランザクションの同時実行性を制御します。
迷茫2017-05-18 10:56:59
主に同時実行性の問題を解決し、データの一貫性を確保するために使用されます。オンラインには多くのチュートリアルがあります。ここにアドレスがあります:
http://www.cnblogs.com/fanp/p...