こんな場面を想像してみてください。たとえば、テストテーブルにはフィールド
があります。 リーリーユーザーが編集インターフェイスを開くと、データベースから読み取られるデータは
です。 リーリーその後、彼は名前を変え、こうなりました
リーリー現在、他のプログラムがこのテストテーブルを高速に読み書きしています。ユーザーがデータをデータテーブルに保存していないため、他のプログラムによって保存されたデータは
です。 リーリーカウント フィールドを 41、42、43 に継続的に変更します。この時点で、ユーザーは変更を完了し、データをデータベースに保存しました。この時点で保存された最終データは
です。 リーリーそこで問題が発生します。 。 。 count フィールドのデータに問題があります。
この問題を解決するにはどうすればよいですか?
1. count フィールドを別のテーブルに分離し、相互に干渉しないように 2 つのテーブルを関連付けます。ただし、この方法でデータを読み込む場合、2つのテーブルを読み込む必要があり、少し面倒です。
2. ユーザーがデータを保存すると、必要なフィールドのみが更新されます。たとえば、count フィールドはデータベースから古いフィールドを読み取ります。ただし、データテーブルに数十のフィールドがある場合、手順は少し面倒です。
どうやって解決しましたか?
典型的なトランザクションの問題。
どのデータベースを使用していますか?ビジネスを勉強したことがありますか?使用するデータベースがトランザクションをどのようにサポートするかを学びます。
簡単に言うと、1 つのクライアントだけが同時に読み取りと書き込み操作を実行できるようにデータをロックし、他のクライアントは待機する必要があります。