これで、DBにアクセスできるすべてのレールアプリケーションに2つのプロセスがあるとします。今では、プロセスの1つで、テーブルをクエリして後でそれを再度クエリするためにstrightする必要があります。私の質問は、同じプロセスで作成された2つのクエリの間に他のプロセスによってテーブルに編集が行われていないことを確認する方法です。取引はここで助けになるのですか?私はそうは思わない。2つの異なるクエリ間でテーブルの変更を防ぐ方法
0
A
答えて
0
あなたにはいくつかのオプションがあります。私はあなたのアプリケーションのアーキテクチャやあなたが使用しているデータベースについてよく分かりません。使用しているデータベース(mysql、pgsqlなど)に応じて、table lockingを実行できます。この作業がDBからDBにどのように異なるかの詳細。テーブルをロックする以外に、ある種のキューイングシステム(lick active job、またはdelayed job)を使用して、そのテーブルへのすべての書き込みをキューに入れ、現在の書き込みが完了したらそのテーブルへの書き込みのみを処理できます。これが本当のハイレベルの説明であり、あなたのような考慮に入れる必要があるいくつかの注意事項があります。
- は、ユーザーまたはシステムが
- は、これらの書き込みを遅らせるだろうこれらの書き込みがリアルタイムであることを期待していrace conditionを引き起こします
- あなたは
- キューイング・システムを統合するためのリソースを持っていますので、これらはあなたのreseaのためのいくつかの出発点で現在のデータベースの提供テーブルが
をロックしていrch私は、テーブルの編集を止めるつもりなら、テーブルがロックされた状態で白くなったすべての書き込みを確実に保存しなければならないと言います。
関連する問題
- 1. データの変更を防ぐ方法
- 2. ドロップダウンボックスのサイズ変更を防ぐ方法
- 3. jを防ぐ方法、日付変更イベントで複数のリクエストをクエリする
- 4. SQL 2つのテーブルのデータを比較し、2つのテーブル間で異なる結果を得る方法
- 5. 2つの異なるDbContextでテーブル間の関係を追加する方法
- 6. JsTree:2つの異なるツリー間のドラッグアンドドロップを防止する
- 7. 辞書のコピーを変更するのを防ぐ方法
- 8. 2つのEditTextで無限ループを防ぐ方法は?
- 9. 2つの異なるテーブル間で日付を比較する方法
- 10. プログラムで2つの異なるEclipseビューの変更を更新する方法
- 11. イオン2 - スワイプジェスチャーによるイオンスライドのページ変更を防ぐ方法は?
- 12. SQLクエリで2つの異なるテーブルを結合する
- 13. 大きなMyISAMテーブルがクラッシュするのを防ぐ方法
- 14. 2つの長方形間の衝突を防ぐ簡単な方法は何ですか?
- 15. 2つの異なるデータベースの2つのテーブル間でデータを同期する方法
- 16. 2次元配列の変異を防ぐ、javascript
- 17. SQLServer 2つのプロセス間のロックの問題を防ぐ
- 18. 2つの異なるテーブルのレコードを更新および削除するクエリ
- 19. ctualサイズ以下の列のサイズ変更を防ぐ方法
- 20. pd.read_csv()のデータ型の変更を防ぐ方法
- 21. 2つの異なるmysqlデータベースのテーブル間でデータをコピー
- 22. MySQL:2つのクエリ間で異なる値を取得
- 23. 異なるデータベースの2つのテーブルを比較する方法
- 24. 、ファイルの消去/変更を防ぐ方法は?
- 25. SWT Java:ウィンドウのサイズ変更を防ぐ方法は?
- 26. divコンテナのサイズ変更を防ぐ方法
- 27. woocommerce woocommerce checkout支払い方法の変更を防ぐ
- 28. 2つの異なるテーブルのデータを変数に結合する方法
- 29. 2つのテーブル間で異なる行を返す
- 30. 2つの異なるクエリをマージする方法
'トランザクションは、単一のデータベース接続上で動作します。クラス固有のデータベースが複数ある場合、そのトランザクションはそれらの間の相互作用を保護しません。 1つの回避策は、モデルを変更した各クラスでトランザクションを開始することです: ' –
別のセッションがこれらの2つのクエリ間でデータを修正しようとすると、どのような振る舞いが必要になりますか?エラーを投げますか?あるいは、データを変更して再クエリしてやり直すことができるかどうかを知りたいだけですか? –