問題タブ [rowlocking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - モデルによるファルコン行ロック
forUpdate がまだ機能しないため ( https://github.com/phalcon/cphalcon/issues/2407 )、データベースで選択された行をロックする最良の方法は何ですか?
処理するアイテムを含む innodb テーブルがあります。cronjob を介していくつかのタスクを開始します。これらのタスクは、処理するアイテムを監視し(status=open)
、行を更新してstatus=processing
から、いくつかのことを行います。間の時間をどのように保護できますか
と
?
sql-server - SQL サーバーでダーティ リードを回避する最善の方法
他の投稿で、SQLサーバーでは読み取りを別の読み取りでロックできないことがわかりました。だから私は次のようにします
他の効率的な方法はありますか?
アップデート
現在のトランザクションがコミットされるまで、他のトランザクションが ACCOUNT 'XXXXXXXXX' の BALANCE を読み取ることができないように、DUMMYCOLUMN でこれらの更新を行うだけです。私の目的は、アカウント「XXXXXXXXX」の残高を読み取り、いくつかの検証を行い、残高を更新することです。最初の更新を省略すると、トランザクション中に別のトランザクションで BALANCE が読み取られます。UPDATE によって行をロックすることでこれを防ぎ、その行を更新せずに行をロックする他の方法があるか知りたいですか?
mysql - Mysql での行レベルのロック
テーブルに 5 つの行 (1 から 5) があります。更新のために行2をロックしたいのですが、その間に誰かが行4を更新しようとすると、更新できるはずです。
以下のコードでこれを試していますが、行レベルではなくテーブルレベルでロックを配置しているように感じます。
------ セッション 1
----- セッション 2 (ブロックされている)
mysql - Innodb は、プライマリ キーとセカンダリ インデックスのロック順序を更新します
2 つの更新クエリによって引き起こされたデッドロックについて調査したとき。理解できない点があります。1.ロウロック設定の順番は?2. 更新実行時のプライマリおよびセカンダリ インデックスのロック設定の順序は? 3. SHOW INNODB STATUS show WAITING x lock structs、それは同時に必要ですか、それとも他の許可の後に必要ですか? 4. 1 つのロック構造体がいくつかの行をロックしたい場合、プロセスはアトミックですか?
ここに私のデッドロックがあります: テーブル:
更新クエリ 1:
更新クエリ 2:
DB の一部の行 ExampleRows
シナリオのキー:
- 更新 nu_key インデックスによると
- 2 つのクエリは異なる行を更新しますが、2 つの行には同じ nu_key インデックスがあります
- TRX1 LOCK WAIT 5 ロック構造体? すべてのロックは、ロック グラフに追加する必要があります
- TRX2 は PrimaryKey を保持し、nu_key インデックスのロックを待ちます。しかし、私が最初にインデックスロックセットを知っていることによると、ロックの必要性はアトミックではありませんか?
- 分離レベル:RR
デッドロック SHOW INNODB ステータス