Database 板


LINE

請問各位 今天interview的時候有跟主管聊到以前的一個問題 就是某個流水號需要一次只能被一個請求讀取 並且使用完要把最新的流水號更新回去 所以必須要用交易鎖定 但主管有提到如果是大量的請求要讀取要怎麼做比較好呢? 這問題之前有跟朋友討論過 結論是用queue 反正就排隊一個一個來 但主管說叫我回去想想是否還有更好的作法 因為我也沒遇過比較極端的情況 所以像這種需要頻繁鎖定資料表避免讀取的話要怎麼做才能效能太差的問題呢? 或是有哪些關鍵字可以尋找呢? 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.85.193
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1475165893.A.F08.html
1F:→ flowwinds: 看不大懂..而雖然小弟不一定能回答 但建議可舉個例 09/30 15:28
2F:推 iamnotfat: 資料庫是用哪家的呢? 09/30 16:58
我用的是MS SQL 例如說某個table某列的資料欄位著一個流水號1 當有人去取得它時必須避免有人又讀取這個1 流水號增加到150的時候要update回原來欄位 最後交易結束下一個process才能繼續讀取 也確保他讀到的一定是最新 我使用的作法是用transaction鎖定資料表避免被讀取 當然這種作法在大量process要讀取的時候必定會因為lock而會要等待 process的量越多必定對效能影響也越大 所以不曉得像這種情況在超多process的情況下通常都怎麼解決呢? 謝謝 ※ 編輯: aoksc (119.14.85.193), 09/30/2016 21:26:38
3F:→ longlongint: 丟到雲端上面跑吧 不過同步的問題還是無解 10/01 01:42
4F:→ longlongint: 通常會避免大家同時寫入/讀取同一個地方 10/01 01:43
5F:→ longlongint: 只要有"寫入" 就一定要排隊 10/01 01:45
6F:→ longlongint: 其實通常會有工具可以套 只是沒用過不知道OTZ 10/01 01:56
7F:→ magus: '流水號增加到150的時候要update回原來欄位'<=這段看不懂 10/06 01:44
8F:→ magus: 我的想法是用程式判斷... 10/06 01:45
9F:→ AminLA: 可以在update 時指定當初取得的序號例如 set seq=150 whe 10/07 21:23
10F:→ AminLA: re seq=1 取得受影響的筆數就知道有沒有成功,沒成功的話 10/07 21:23
11F:→ AminLA: 就再次取得最新的序號 ,算出差值,下個update 幫原本已 10/07 21:23
12F:→ AminLA: 經寫入的149 筆更新成新的序號,再下個update 更新當前的 10/07 21:23
13F:→ AminLA: seq 反複這個過程直到成功 簡單說就是 CAS 10/07 21:23
14F:→ iFEELing: 如果允許中間有空號就用SEQUENCE 沒做完的就放棄 10/08 12:49
15F:→ iFEELing: 如果一定要連號 本質上就是那個號碼會被排斥性保護 10/08 12:51
16F:→ iFEELing: 大概就是看能不能拆成分區段的幾個小鎖來分散.... 10/08 12:52
17F:→ iFEELing: 重點在你的需求是"不重覆"還是"一定要連號" 10/08 12:57
18F:→ iFEELing: 不重覆的話好辦 一定要連號就比較麻煩 10/08 12:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP