【问题标题】:How many live uncommitted transactions MySQLMySQL 有多少实时未提交事务
【发布时间】:2016-07-14 09:52:57
【问题描述】:

设置了 MySQL 的隔离级别 REPEATABLE READ

Пример работы:

START TRANSACTION;
(1000 INSERT QUERY);
(1000 SELECT QUERY);
COMMIT;

如果不执行 COMMIT 会发生什么? 这笔交易会在内存中挂起多久等待确认? 事务的配置生命周期在哪里? 毕竟,如果确实存在一段时间,可能会出现内存泄漏?

【问题讨论】:

    标签: mysql transactions


    【解决方案1】:

    在连接关闭之前一直有效。

    MySQL 使用mysql_real_connect()interactive_timeout。但除非客户端是为使用它而编写的,否则使用您通常拥有的任何客户端(例如 MySQL Workbench 或客户端实用程序)对其进行测试几乎没有用处。

    如果不执行 COMMIT 会发生什么?

    一切都等到上面的事务持有者连接状态处理完毕。

    这笔交易会在内存中挂起多长时间等待确认?

    可能永远。

    事务的生命周期在哪里配置?

    没有。

    毕竟,如果确实存在一段时间,可能会出现内存泄漏?

    当然。这是评论,不是问题。

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 2011-04-30
      • 2014-07-19
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多