總結一下自己理解的MySql鎖相關的理解
mysql版本爲5.7,引擎爲innodb,這個引擎在工作中最常用
1.共享鎖
共享鎖又叫讀鎖,共享鎖就是多個事務對於同一數據可以共享一把鎖,都能訪問到數據,但是隻能讀不能修改數據。
2.排他鎖
排他鎖與任何鎖互斥,排他鎖又叫寫鎖。
意思是當前事務加上鎖之後,其他的事務不能繼續在當前的數據上加鎖。
innoDB引擎會默認在數據更新、插入、刪除操作的時候加上排他鎖。
3.間隙鎖
間隙鎖會出現在範圍查詢的時候,而不是等於查詢的時候。範圍查詢時,innoDB會對這個範圍的數據加鎖,在這個範圍內的有些數據索引是不存在的,innoDB會對這一部分不存在的索引數據加鎖。
select * from lock_demo where id between 5 and 10
4.自增鎖
自增鎖是一種特殊的表級別鎖。最簡單的情況,如果一個事務正在往表中插入記錄,所有其他事務的插入必須等待,以便第一個事務插入的行,是連續的主鍵值。
5.還有其他幾種鎖,本人沒有深入的去涉及研究
分別是:記錄鎖、臨鍵鎖、意向鎖。
還有一種叫插入意向鎖。