回答編集履歴

2

追記

2018/08/29 03:47

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -27,3 +27,5 @@
27
27
  ロック用のフラグ項目(1:ロック,0:アンロック)に対して、`update XXX set flg=1 where flg=0`という更新を行います。
28
28
 
29
29
  更新されればロックの獲得、更新されなければロックを獲得できなかった、という状態を判定でき待機せずに済みます。
30
+
31
+ ※上記のXCHG云々は所謂、楽観的排他でした。

1

追記

2018/08/29 03:47

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  これで、一連処理のテーブルの更新順序を気にする必要は無くなります。
18
18
 
19
+ 但し、処理が長時間になりタイムアウトが発生するような場合には、タイムアウト値の調整などの考慮が必要です。
20
+
19
21
  ※発番テーブルを利用しているのは、トランザクション内で大量に発番するような場合も都合がいいので。
20
22
 
21
23