討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
請問DB2如何rowlock資料呢
更改我的閱讀文章字型大小
作者 : shaokuan(小冠) 人氣指數超過10000點
[ 貼文 79 | 人氣 10649 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/11/7 下午 10:42:31
我的情況是程式會在抓取DB中某些資料後開始對這些資料作處理,並且寫入另一個表格中,現在我想要同時開啟多隻程式,不過我害怕如果開啟多隻的話會因為同時SELECT同一筆資料,造成資料重複寫入資料庫,這是我不想要發生的,因此不知道有沒有LOCK ROWDATA的語法或是方法可以在SELECT時候順便將該筆資料LOCK住,直到我程式結束,如果這時候別隻程式(SQL語法都相同)也找到該筆資料, 就會拋出EXCEPTION之類的東西,可以讓我捕捉到,如果可以希望是使用db自己題供的機制來處理
ps,我的資料庫是db2
作者 : sophialee123(小蘭)
[ 貼文 1 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/11/20 下午 09:14:50
就我所知db2的lock是他自己管的,他不讓programmer插手,
沒有row level lock這種東西,但可以lock整個table.
您的問題應該在您要insert的那個table的primary key的管理,
而不是您要select的那個table的locking機制.
db2是我鍾愛的database,可惜了解他的人實在很少.
他的速度是很超級快的,我和他相處十年了.
不論那一個dbms,lock的成本都遠高於pk管理的成本,
您要仔細想想您的設計,我認為您的焦點要略作修改.
作者 : tyng007(tyng)
[ 貼文 4 | 人氣 1549 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/3/26 下午 12:13:58
不知道你的版本是什麼,查查看select的指令是否有for update的參數.
例如select .....fom...where....for update;
但是,上面那個人說的沒錯,應該要改變結構.
因為縱使有roll lock,但是很可能多程式交雜的lock造成deadlock,這麻煩就更大了.
建議方式:
1.來源table新增一欄位,可存入Y或N字串
2.select為'N的資料'
3.檢查此筆資料是否被insert過,如果沒有,就回寫欄位為'Y'
4.最後才insert此筆資料到另一table
作者 : wayjye(劼)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/2/5 上午 09:22:11
select .... for update其實就是 row lock,直到commit或程式結束才釋放,在DB2 以前的版本須有設成row lock機制 ,否則會page lock,甚至Table lock
 板主 : Cheryl
 > DB2 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - DB2 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
DB2
1 阿酷 60 
2 英文 10 
3 小馬 10 
DB2
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875