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/