事務和鎖--查看數據庫中的鎖


數據庫加鎖是修改哪一條加鎖,還是在頁上加鎖,還是在表上加鎖,數據庫來決定

如果你更改的是兩條記錄,就在兩條記錄上加鎖,如果你更改的是很多條,這個時候數據庫一看一條一條加鎖太麻煩,給整個頁加鎖更省事,或者給整個表加鎖更加省事

加鎖的級別越大,數據庫越省事,數據庫越省事,並發性越差,修改一條記錄如果給表加上獨占鎖,那么想查詢別的記錄都查詢不了了

加鎖的對象越小,並發性越好

加的鎖對象越大,並發性越差

剛開始就這幾個鎖

 

1、開啟事務修改學生的名字,給學號為0000000001的學生姓名加個‘_01’,事務不提交

 

 

2、看到給Student表上的這1行加了獨占鎖
ObjId:2105058535表示是Student這張表
Type:RID表示是行標識
Resource:1:567:0,表示是第1個數據文件的第576頁的第1行
Mode:X表示獨占鎖

所以如下圖查詢學號為0000000001的學生,因為這行數據加了獨占鎖,所以一直查詢不出來

 

但是如下圖查詢學號不為0000000001的學生,就可以查詢出來數據了,因為其他行並沒有鎖

3、開啟事務修改學生的名字,給學號對2取余等於0的這1批學生姓名加個_01,事務不提交

 

4、看到給Student表加了獨占鎖
ObjId:2105058535表示是Student這張表
Type:TAB表示是表
Mode:X表示獨占鎖

 如下圖查詢學號不為0000000001的學生或者查詢任何數據,因為這個表加了獨占鎖,所以都不會查詢出來

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM