有关数据库事务的一些理解-MySQL本身的事务
有关数据库事务的一些理解-MySQL本身的事务
清晨吼于林 发表于8个月前
有关数据库事务的一些理解-MySQL本身的事务
  • 发表于 8个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

1. connection、session、transaction

    connection,数据库连接,一种物理概念,客户端通过这个连接与数据库服务端进行通信,基于tcp的socket连接。由于创建与销货连接开销比较大,因此可以通过池化数据库连接来复用连接。

    session,会话,一种抽象概念,这是一个存在于MySQL服务端的概念。

    transaction,事务,一种抽象概念,即一堆操作的集合,这堆操作要么同时成功,要么同时失败。

2.MySQL的自动提交功能

    相信,我们在用客户端操作MySQL数据时,会有这样的一个疑问,事务到底体现在哪了?

    实际上,默认情况下,我们每执行一条语句,MySQL就会帮忙自动提交这个事务,即每条语句都会自动提交,至此一个事务就完成了,在你不知不觉中,就完成了一个事务。那我们如何开启与关闭自动提交功能呢?

    红色与绿色的两个窗口,分别开启了一个事务。在绿色事务没有commit之前,红色事务职能看到原始的数据,如果看到了,则属于 “脏读”(读到别人未提交数据),这就涉及到数据库的事务隔离级别。MySQL的默认事务隔离级别是 可重复读,可以保证不同事务在并发的读取数据时,看到相同的数据,知道其中一个事务提交事务。

上面第5步操作完成之后会话中一个事务结束了,立马在不知不觉中,你又进入了另外一个事务(这个与后面的代码是相通的)。事务实际上无处不在,你不是在这个事务中,就是在下一个事务中。

3.一句话就是,MySQL中事务无处不在。除非该存储引擎完全不存在这种事务的概念。实际上,MyISAM存储引擎,也是存在这样的先后提交的,只是它比不是很好的支持回滚罢了。

标签: MySQL 事务
共有 人打赏支持
粉丝 4
博文 14
码字总数 6656
×
清晨吼于林
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: