mysql - MySQL 有多少实时未提交事务

标签 mysql transactions

MySQL 隔离级别设置为REPEATABLE READ

示例:

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

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

最佳答案

它一直有效,直到连接关闭为止。

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

What happens if the COMMIT is not executed?

一切都等待,直到上述事务持有者连接状态得到处理。

How long will hang this transaction in memory and wait for confirmation?

可能永远。

Where is configured lifetime of the transaction?

没有。

After all, if it does exist for some time, there may be a memory leak?

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

关于mysql - MySQL 有多少实时未提交事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38371026/

相关文章:

java - JMS-分布式事务

django - "transaction.atomic"与 "transaction.commit_on_success"相同吗?

javascript - JS 上的 for 循环内的 WebSQL 事务

java - Spring @Transactional 属性是否适用于私有(private)方法?

php - which mysql yum repo for mysql 5.6 on EC2 Amazon Linux AMI release 2013.09

mysql - 将 mySQL 触发器转换为 SQL

mysql - MySql 中的并行处理更新查询

mysql - 从一个表中获取 ID 并从另一个表中返回相关名称

mysql - #1064 - 检查与您的 MariaDB 服务器版本对应的手册以获得正确的语法?

python - 在 Python 中如何检查您是否正在与 ZODB 进行交易?