ホームページ >データベース >mysql チュートリアル >削除および挿入操作後の MySQL での古いデータ選択を解決するにはどうすればよいですか?

削除および挿入操作後の MySQL での古いデータ選択を解決するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-27 06:29:171052ブラウズ

How to Resolve Stale Data Selection in MySQL After Delete and Insert Operations?

MySQL: 削除と挿入後の古いデータ選択からの回復

MySQL を使用したマルチスレッド WSGI Web アプリケーションでは、セッション管理で時々問題が発生することがあります。不一致。削除されたセッションが選択クエリで依然として返される。

この動作これは、MySQL のデフォルトの分離レベル「REPEATABLE READ」に由来します。このレベルでは、変更がコミットされたかどうかに関係なく、トランザクションが開始後に行われた変更の影響を受けないことが保証されます。したがって、新しいセッションが挿入された後でも、他の接続は古いセッション データを取得し続けます。

この問題を解決するには、次の点を考慮してください。

  • トランザクションを終了します。 影響を受けるセッションで COMMIT または ROLLBACK コマンドを発行して永続的なトランザクションを終了し、最新のデータベースを監視できるようにします。 state.
  • 分離レベルの変更: 影響を受けるセッションの分離レベルを「READ COMMITTED」に変更します。このレベルでは、新しくコミットされたデータを同じトランザクション内の後続のクエリで参照できるようになります。

いずれかのアプローチを実装すると、接続で古いデータが選択されなくなり、データベースの現在の状態が反映されます。

以上が削除および挿入操作後の MySQL での古いデータ選択を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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