shbinyan 2021-02-16 20:23 采纳率: 50%
浏览 52
已采纳

请问下各位mysql和postgresql的事务开启机制啊

请问下啊,我在网上看到描述mysql事务的这样一段话:

If the transaction isolation level is REPEATABLE READ (the default

level), all consistent reads within the same transaction read the

snapshot established by the first such read in that transaction.

With READ COMMITTED isolation level, each consistent read within a transaction sets and reads its own fresh snapshot.

解释是在RR隔离级别下,执行start transaction命令后,并未开启事务,而是等到第一条语句执行时开启事务并建立一致性读的snapshot。原文地址:

https://blog.csdn.net/weixin_29596789/article/details/113146484

1. 我有点晕,这个所谓的第一条语句必须是select语句吗?

2. 而且是对限定条件的数据建立快照吗?原文里提到了such read,那是不是说第一条select语句如果查的是id=5的记录,那就只对这条语句执行前(而不是start transcation语句前)的1条记录建立快照吗?第2条select语句如果查的是id>5的记录,那就只对第2条语句执行前的id>5的记录建立快照吗?

3. postgresql也是这样吗?或者说是在执行start transaction命令后就建立快照?谢啦

  • 写回答

2条回答 默认 最新

  • 幻灰龙 2021-02-17 00:13
    关注

    参考:

    这2篇解释的很清晰:

    https://www.cnblogs.com/sunjingwu/p/12386660.html

    https://www.cnblogs.com/digdeep/p/4947694.html

     

    MySQL/PG 都按这种方式自己动手验证应该是最好的路径。

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵