开发者社区 问答 正文

一个查询事物一直没有提交会有什么问题

一个查询事物一直没有提交会有什么问题

展开
收起
景凌凯 2020-04-22 17:40:53 1239 分享 版权
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    • 如果你加的是x 锁,会阻止其他的事物读写,如果你加的是 s 锁,会阻止其他事物的写。如果长时间没有提交,会导致很多事物等待。
    • 为什么查询要开启事务?完全可以在自动提交下执行查询。
    • 在MySQL 5.6中,如果开启了事务,会分配事务相关的内存结构体。在MySQL 5.7中,对只读事务进行了优化,不会分配事务ID及相关结构体。 为什么建议要及时提交呢?
    • 只有提交了连接才会释放回连接池。否则的话,可能导致应用在申请连接时,无连接可用。
    • 读写互相阻塞是理论上一个经典的封锁模式,但在具体实现上,绝大多数主流数据库都会引入MVCC(多版本并发控制),读写并不会阻塞,每次读的只是快照。为什么还是提倡及早提交呢?避免读取的镜像在Undo表空间中保留太久。
    2020-04-23 13:15:20
    赞同 展开评论
问答地址: