MYSQL 鎖機制 分析

2022-02-17 07:37:05 字數 434 閱讀 5738

mysql的表級鎖有兩種模式:表共享讀鎖(table read lock)和表獨佔寫鎖(table write

lock)。myisam在執行查詢語句(select)前,會自動給涉及的所有表加讀鎖,在執行更新操作(update、delete、insert等)前,會自動給涉及的表加寫鎖。

所以對myisam表進行操作,會有以下情況:

a、對myisam表的讀操作(加讀鎖),不會阻塞其他程序對同一表的讀請求,但會阻塞對同一表的寫請求。只有當讀鎖釋放後,才會執行其它程序的寫操作。

b、對myisam表的寫操作(加寫鎖),會阻塞其他程序對同一表的讀和寫操作,只有當寫鎖釋放後,才會執行其它程序的讀寫操作。

下面通過例子來進行驗證以上觀點。資料表gz_phone裡有二百多萬資料,欄位id,phone,ua,day。現在同時用多個客戶端同時對該錶進行操作分析。

參考文章: 

mysql 鎖表機制分析

412 views posted in 2010年08月30日 10 00h.scofield 為了給高併發情況下的mysql進行更好的優化,有必要了解一下mysql查詢更新時的鎖表機制。一 概述 mysql有三種鎖的級別 頁級 表級 行級。myisam和memory儲存引擎採用的是表級鎖 tabl...

mysql鎖表機制分析

為了給高併發情況下的 mysql 進行更好的優化,有必要了解一下mysql查詢更新時的鎖表機制。一 概述 mysql有三種鎖的級別 頁級 表級 行級。myisam和memory儲存引擎採用的是表級鎖 table level locking bdb儲存引擎採用的是頁面鎖 page level lock...

mysql 鎖表機制分析

為了給高併發情況下的mysql進行更好的優化,有必要了解一下mysql查詢更新時的鎖表機制。一 概述 mysql有三種鎖的級別 頁級 表級 行級。myisam和memory儲存引擎採用的是表級鎖 table level locking bdb儲存引擎採用的是頁面鎖 page level lockin...