Innodb

Innodb隔離級別:

1. 可重複讀:

    結論1:事務1在查詢主鍵id>=1中,事務2可更新id>=1的記錄,事務3可新插入id>=1的數據;事務2提交後,事務1再次查詢id=1的內容不變。(mvcc實現)

        

        

    

    

    結論2:事務1在主鍵id<=2強加for update時,事務2插入id=40成功,而事務3插入id=0等待,說明是間隙鎖;

               正常來說,innodb引擎自動使用間隙鎖來避免幻讀(原因是因爲innodb採用單行鎖+間隙鎖組合而成的行鎖,會鎖定一個範圍和記錄本身的行),參數默認innodb_locaks_unsafe_for_binlog爲false時開啓,True時禁用。

    

    

    

2. 可串行化:

    結論1:事務1查詢id=1,事務2 更新id=2等待,而事務3 更新id=3成功,說明有鎖並且是間隙鎖。

    

    

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章