MySQL如何查看未提交/阻塞事物的更多信息
通常有这样的疑问: 为什么阻塞查询为NULL并处于睡眠状态,以及如何找到关于阻塞事务的更多信息?
当阻塞查询为NULL时,意味着阻塞的事务当前没有执行任何查询。然而,它仍然持有锁。您需要查看阻塞事务的历史记录,以确定它在空闲之前在做什么。
例如,考虑以下两个交易:
Connection 1:
(Fri Sep 8 08:58:19 2023)[root@GreatSQL][andy]>START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(1);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(2);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(3);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(4);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(5);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(6);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(7);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(8);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(9);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(10);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(11);
Query OK, 1 row affected (0.00 sec)
(Fri Sep 8 08:58:36 2023)[root@GreatSQL][andy]>insert into andy values(12);
Query OK, 1 row affected (0.00 sec)