什麼是MySQL鎖定表?
為了給高並發情況下的mysql進行更好的最佳化,有必要了解一下mysql查詢更新時的鎖定表機制。
MySQL有三種鎖定的等級:頁級、表格級、行級。
MyISAM和MEMORY儲存引擎採用的是表格級鎖定(table-level locking);BDB儲存引擎採用的是頁面鎖定(page-level
locking),但也支援表級鎖;InnoDB儲存引擎既支援行級鎖(row-level locking),也支援表格級鎖,但預設為採用行級鎖。
MySQL這3種鎖的特性可大致歸納如下:
表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖衝突的機率最高,併發度最低。
行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖衝突的機率最低,並發度也最高。
頁面鎖定:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,並發度一般。
鎖定表怎麼解決? MySQL鎖表怎麼解鎖?
1、查進程,主要是找尋被鎖定表的那個行程的ID
SHOW PROCESSLIST;
2、kill掉鎖定表的進程ID
KILL 10866;//後面的數字即時進程的ID
##
以上是mysql鎖表如何解鎖的詳細內容。更多資訊請關注PHP中文網其他相關文章!