問(wèn)題描述數(shù)據(jù)庫(kù)訂單表中每個(gè)用戶的記錄有15種狀態(tài)(12種狀態(tài)碼代表在途狀態(tài),3種狀態(tài)碼代表終結(jié)狀態(tài))。數(shù)據(jù)之間的狀態(tài)可以進(jìn)行流轉(zhuǎn)。要求同一個(gè)用戶的在途狀態(tài)只能有一條記錄,終結(jié)狀態(tài)可以有多條記錄。如何保證數(shù)據(jù)完整性問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法代碼流程,在插入數(shù)據(jù)庫(kù)之前進(jìn)行數(shù)據(jù)查詢,如果查詢出當(dāng)前用戶沒(méi)有在途狀態(tài)的數(shù)據(jù),則進(jìn)行插入;如果查詢出當(dāng)前用戶有在途狀態(tài)的數(shù)據(jù),則不插入。但是在同一個(gè)用戶并發(fā)高的情況下,會(huì)出現(xiàn)數(shù)據(jù)不嚴(yán)謹(jǐn)?shù)那闆r,這個(gè)大家都知道。如果是單節(jié)點(diǎn)的情況下,可以使用同步(synchronized)的方法解決數(shù)據(jù)完整性的問(wèn)題,但是當(dāng)同步的時(shí)候也阻塞了其他所有用戶的操作,造成性能低下。
添加回答
舉報(bào)
0/150
提交
取消