mysql的InnoDB,支持事務(wù)和行級(jí)鎖,可以使用行鎖來處理用戶提現(xiàn)等業(yè)務(wù)。使用mysql鎖的時(shí)候有時(shí)候會(huì)出現(xiàn)死鎖,要做好死鎖的預(yù)防。

  二、MySQL行級(jí)鎖

    行級(jí)鎖又分共享鎖和排他鎖。

    共享鎖:

      名詞解釋:共享鎖又叫做讀鎖,所有的事務(wù)只能對(duì)其進(jìn)行讀操作不能寫操作,加上共享鎖后其他事務(wù)不能再加排他鎖了只能加行級(jí)鎖。

      用法:SELECT `id` FROM  table WHERE id in(1,2)   LOCK IN SHARE MODE 結(jié)果集的數(shù)據(jù)都會(huì)加共享鎖

    排他鎖:

      名詞解釋:若某個(gè)事物對(duì)某一行加上了排他鎖,只能這個(gè)事務(wù)對(duì)其進(jìn)行讀寫,其他事務(wù)不能對(duì)其進(jìn)行加任何鎖,其他進(jìn)程可以讀取,不能進(jìn)行寫操作,需等待其釋放。

      用法:SELECT `id` FROM mk_user WHERE id=1 FOR UPDATE

網(wǎng)友評(píng)論