[請益] 資料庫同步的問題
假設一個訂票系統有一個table:座位
欄位有日期、座位號碼、是否available、訂位人的ID
現在有兩個user: A, B進入了訂票系統
接著發生了以下事件
1. A select此table發現有五個空位
2. B select此table發現有五個空位
3. A 訂了四個位子,並且把這四個位子的狀態update為unavailable
4. A結束transaction
5. 現在B以為有五個空位,於是訂了兩個位子 => 發生重複訂位的問題
請問一下,有什麼辦法解決這個同步的問題?
我想到的方法是在事件1發生時讓A對table作lock,然後B要等到A結束transaction才能select
不過這方法效率似乎不好,有更好的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.9.22
推
10/04 15:44, , 1F
10/04 15:44, 1F
→
10/04 15:50, , 2F
10/04 15:50, 2F
→
10/04 15:52, , 3F
10/04 15:52, 3F
→
10/04 16:01, , 4F
10/04 16:01, 4F
→
10/04 16:05, , 5F
10/04 16:05, 5F
→
10/04 16:12, , 6F
10/04 16:12, 6F
推
10/04 16:15, , 7F
10/04 16:15, 7F
→
10/04 16:17, , 8F
10/04 16:17, 8F
推
10/04 16:36, , 9F
10/04 16:36, 9F
推
10/04 16:40, , 10F
10/04 16:40, 10F
→
10/04 16:41, , 11F
10/04 16:41, 11F
→
10/04 16:41, , 12F
10/04 16:41, 12F
推
10/04 21:07, , 13F
10/04 21:07, 13F
→
10/04 21:07, , 14F
10/04 21:07, 14F
推
10/05 14:20, , 15F
10/05 14:20, 15F
→
10/05 14:21, , 16F
10/05 14:21, 16F
→
10/08 20:05, , 17F
10/08 20:05, 17F
→
10/08 20:06, , 18F
10/08 20:06, 18F
→
10/08 20:10, , 19F
10/08 20:10, 19F
討論串 (同標題文章)