高性能MySQL读书笔记:找出谁持有锁

  周末重读了一遍《高性能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读书笔记:找出谁持有锁,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。