※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1317714119.A.F1A.html
推 a1234shin:B在訂位Update時再檢查一次狀態.... 10/04 15:44
→ lancer7:問題是在select和update之間還是有可能發生狀態被更改 10/04 15:50
→ lancer7:maybe有一個user C在你recheck和update之間有作訂位 10/04 15:52
→ LeafE: 做交易行為 ?? 不過請小心死鍊 !! 10/04 16:01
→ danielguo:row-level locking? 10/04 16:05
→ mervynW:UPDAET WHERE 這邊要check啊 10/04 16:12
推 miisoo4u:先把ORDER都寫到一個TABLE~再寫支排隊程式依序處理 10/04 16:15
→ miisoo4u:還要再寫支程式監控排隊程式是不是還活著 10/04 16:17
推 hanbz:參考os書裡面的synchronization那個章節XD 10/04 16:36
推 phantom400:不想在DB層做lock控管的話 10/04 16:40
→ phantom400:1.不要使用transation了 Update操作請用單筆操作 10/04 16:41
→ phantom400:2.Where條件加上是否available 10/04 16:41
推 atpx:不在transaction處理的話, 在定位成功前檢查一次也是個方法 10/04 21:07
→ atpx:但是這樣就變成畫面上看有位置點下去沒位置 10/04 21:07
推 genesic:畫面顯示跟訂下去本來就會不一樣 10/05 14:20
→ genesic:不然假如畫面一直停在那邊,整個系統就得hold住等你訂完 10/05 14:21
→ chiaho:insert 訂位資料(包含userID) in temp table 10/08 20:05
→ chiaho:然後select from temp table top 1, 檢查userId是A還是B 10/08 20:06
→ chiaho:完整一點的話是 insert 資料+目前時間, select 五分鐘內 10/08 20:10