7

这是“SHOW ENGINE INNODB STATUS”的几行响应;


TRANSACTIONS
------------
Trx id counter 58EC54C6
Purge done for trx's n:o < 58EC54C3 undo n:o < 0
History list length 2420
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 58EC51E6, not started
MySQL thread id 520131, OS thread handle 0x7f0db930e700, query id 24011015 108.89.56.87 xyz
---TRANSACTION 58EC527E, not started
MySQL thread id 520061, OS thread handle 0x7f0dbb596700, query id 24011370 108.89.56.87 xyz
---TRANSACTION 58EC53AC, not started
MySQL thread id 520065, OS thread handle 0x7f0dbb28a700, query id 24012094 108.89.56.87 xyz
---TRANSACTION 58EC50CE, not started
MySQL thread id 520109, OS thread handle 0x7f0dbba69700, query id 24010431 108.89.56.87 xyz    ---TRANSACTION 58EC51E8, not started
MySQL thread id 520123, OS thread handle 0x7f0dbb4d3700, query id 24011016 108.89.56.87 xyz    ---TRANSACTION 58EC51D0, not started
MySQL thread id 520072, OS thread handle 0x7f0db865c700, query id 24010944 108.89.56.87 xyz
---TRANSACTION 58EC5184, not started
MySQL thread id 520058, OS thread handle 0x7f0db8c74700, query id 24010807 108.89.56.87 xyz

我想知道这个'Transaction transId,not started'是什么意思?是否有任何查询未能执行?

我正在使用innodb。我也没有手动开始交易。它正在考虑自动事务,因为我正在对具有批量数据的表发出更新查询。而且你在 5-10 分钟内会在这个单表上获得数百个 mysql 更新查询。

请让我知道“交易未开始”到底是什么意思?它是显示失败的查询还是只是一个正常的日志?

提前致谢!

4

2 回答 2

15

当一个线程(~connection)第一次需要在事务期间锁定一些数据时,就会创建一个事务“对象”(~context)。事务“对象”在事务结束时不会被销毁,如果新事务由同一线程启动,它将被重用。

每个事务显示为当前not started不在事务内部的线程拥有的事务“对象” (更准确地说,它不需要为事务维护单独的上下文)。

是在您发出 时在列thread id中显示的那个。IdSHOW PROCESSLIST

这没什么好担心的,实际上这是正常行为。

于 2012-06-28T12:15:38.333 回答
2

我在网上找到了这个:

Innodb 什么时候开始事务?

2011 年 1 月 11 日 作者:彼得·扎伊采夫

9 条评论 inShare1

Innodb 什么时候开始事务?答案看起来很明显——当你发出“BEGIN”命令时。然而,从你的引擎角度来看,这是错误的答案。运行“SHOW INNODB STATUS”,您将在事务列表中看到“未启动”状态。

这里

对于 MySQL 的每个连接,如果此连接没有活动的 Innodb 事务,则将处于 ether not started 状态,如果事务处于活动状态,则将处于 ACTIVE 状态。即使连接处于“睡眠”阶段,注意事务也可以处于活动状态 - 如果它是多语句事务。Innodb 还将打印操作系统 thread_id 和进程 ID,如果您想使用 gdb 连接到正在运行的 mysqld 以进行故障排除和类似的事情,这可能会有所帮助。还报告事务状态,这基本上是事务正在执行的操作,它可以是“获取行”、“更新”和其他几个值。

来源_

于 2012-06-28T12:44:51.400 回答