mysql并發查詢設置,update的并發是否會產生臟數據?
MySQL并發情況下更新數據,正常應該是不會新增臟數據。但不排除一種情況,那就是在程序邏輯是判斷如果存在則更新不存在則新增數據。這種情況下如果沒有唯一索引的約束,就會產生臟數據。
這種情況其實和并發情況下事務產生臟讀類似。
并發情況下如果事務的隔離級別過低(未提交讀);則有可能會出現臟讀的情況,也就是一個事務讀到了另一個事務沒有提交的更新數據。也有可能撤銷事務時把另一個事務的更新結果覆蓋,也就是丟失更新。
MySQL并發情況下更新數據,正常應該是不會新增臟數據。但不排除一種情況,那就是在程序邏輯是判斷如果存在則更新不存在則新增數據。這種情況下如果沒有唯一索引的約束,就會產生臟數據。
這種情況其實和并發情況下事務產生臟讀類似。
并發情況下如果事務的隔離級別過低(未提交讀);則有可能會出現臟讀的情況,也就是一個事務讀到了另一個事務沒有提交的更新數據。也有可能撤銷事務時把另一個事務的更新結果覆蓋,也就是丟失更新。