|
周末重讀了一遍《高性能MySQL》,發現有些知識點看過便忘了,沒有實際動手操作一遍就是記不牢,所以今天動手操作了一下“找出誰持有鎖”,并把實驗步驟記錄下來,有興趣的網友可以參照一二。
問題的背景:在實際使用MySQL時,如果訪問量比較大,那么很可能會出現大量Locked狀態的進程,但是卻不能方便的識別是哪條SQL引起的問題,很多人遇到此類問題時,多半是通過phpMyAdmin查詢可疑SQL,然后KILL掉,但問題是可疑SQL可能會很多,這樣逐一嘗試太過笨拙,有的人一怒之下很可能會重啟MySQL,但如此治標不治本的方法肯定更不可取。
開始實驗,在test數據庫先建立一個測試表foo(注意:是MyISAM表類型),添加若干數據:
CREATE TABLE IF NOT EXISTS `foo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`str` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
INSERT INTO `foo` (`id`, `str`) VALUES
(1, 'a'),
(2, 'b');
it知識庫:高性能MySQL讀書筆記:找出誰持有鎖,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。