mysql併發操作問題

pythontab發表於2014-04-16

今天做專案的時候遇到一個問題,情況如下:

為了使三張表中uid欄位統一,設定了uid欄位不自增。

但是為了使uid增大,使用瞭如下方法:每次插入資料前,先要查詢一下目前uid的最大值,然後把當前uid+1後生成一個新uid,然後把新的uid作為新的插入行的uid。

這樣操作首先我感覺會產生兩個問題:

1.多了一個查詢操作,產生效率問題,當然這不是最重要的。

2.我感覺高併發情況下,會出現問題

經過在群裡問一些高手,確定了,這樣操作肯定會產生高併發下出現問題。

總結:

“先查詢,後插入,必然會出現問題”這是一個高手告訴我的。

解決方案:

1.使用事務處理

2.修改演算法


相關文章