Re: [站內] 找工作真的很難
※ 引述《Lordaeron (Terry)》之銘言:
: ※ 引述《adrianshum (Alien)》之銘言:
: : transaciton based 當然可以這樣做.
: : 但如果是大家retrieve 同一個 record, 你改了 field A
: : 我改了 field B, 你不理會 concurrent update 的話
: : 你改的東西就消失了. 當然你可以自己在 table 再加 sequence
: : number 再在 update 前檢查一下有沒有人在之前 update
: : 過, 但這種 optimistic concurrency strategy, 不少
: : OR Mapping framework 已經幫你做了一大部份了, 請問,
: : 這是不是有它的價值?
: 哇, 有這種狀況的話, 也是看你怎麼design 而已.
: 如果update sql 只update 你要update 的field, 就無所謂
: concurrency 問題了.
那就是我所謂 transactional based
但我提到的情況在 *實際* 工作上有很多.
: 不然你的做法也很 update 前先check sequence, 再query
: 回現在的資料, 最combine, 再update 這樣嗎?
combine 等並非必要.
一般 optimistic concurrency strategy
在同時 update, 後 update 者都只是 throw 出
exception 來提醒 data image outdated. 要
merge 要怎樣是再之後的事
但至少人家已經幫你做了 date image outdate
checking, 你明白價值在哪裡嗎?
: 有沒有starvasion 的問題呢? 問題不就搞得比較複雜了?
有複雜嗎?
你可以選擇 case-by-case 去想怎樣handle, 或者自己
再去想一個 mechanism 去 handle. 但framework 提供了
一個 proven way 去解決這樣的問題, 除非你的情況很特
殊否則幹嗎要自己要花時間去設計和寫相關的部份?
Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
討論串 (同標題文章)