時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
有一個表中的數(shù)據(jù)需要每月更新,數(shù)據(jù)量近百萬,考慮由10臺服務(wù)器分?jǐn)偛⒎峙M(jìn)行更新
這就需要能夠查詢一批記錄并同時修改這批記錄的更新狀態(tài),以免被正在更新的數(shù)據(jù)被其他服務(wù)器取到
加行級鎖,查詢到記錄后再遍歷結(jié)果集更新狀態(tài)?
select * from t_musicinfo for update wait 10;
這樣如果某臺服務(wù)器鎖定記錄,直到更新狀態(tài)并提交這段時間,其他所有服務(wù)器都得等待,只有這臺服務(wù)器釋放后其他服務(wù)器才能加鎖進(jìn)行更新操作,10臺服務(wù)器同步操作,爭搶的機率豈不是很大,有沒有辦法使查詢時對已經(jīng)鎖定的記錄視而不見
Google之...
果然有:
select * from t_musicinfo for update nowait skip locked;
for update skip locked選項是oracle的一個未公開的特性,它的含義是select時跳過被鎖的記錄
那么接下來遍歷結(jié)果集更新狀態(tài)
好像不對,結(jié)果集打開后再返回,就不能再打開了
關(guān)鍵詞標(biāo)簽:oracle,select語句
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制
人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限