Mysql 鎖機制

表鎖 Myisam引擎(表級)session

讀鎖定時,不能寫, 寫鎖定A表時,其餘session不能讀和寫A表spa

  讀鎖session-1 只能查A表,不能查其餘B表blog

              session-2 寫阻塞,能查詢全部表索引

  寫鎖session-1 能改A表, 不能查其餘表it

    session-2 不能查A表,更加不能寫操做.io

lock tables 表名 read|write; innodb

unlock 表名table

 

行鎖 InnerDB引擎(行級)class

     無索引引起的表鎖date

     間隙鎖的危害,使用範圍檢索數據,InnoDB會給符合條件的記錄索引枷鎖,對於鍵值範圍內但並不存的記錄,叫間隙鎖

    危害:Query時,範圍內的全部索引值被鎖, 間隙值行記錄會被阻塞

  

 分析行鎖

 show status like 'innodb_row_lock%';

**_current_waits:當前正在等待鎖定的數量 和

**_time 等待的總時長

**_time_avg 等待平均時長

**_time_max 等待最長的一次所花時間

**_waits: 系統啓動後到如今的總共等待次數

 

如何鎖定一行?

begin

select * from tables where *** for update;

commit;

 

 

頁鎖

相關文章
相關標籤/搜索