mysql事务 可见性,【每日阅读】2020年12月09日-事务先后的可见性
生活随笔
收集整理的這篇文章主要介紹了
mysql事务 可见性,【每日阅读】2020年12月09日-事务先后的可见性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問:id=1的k初始值是1,那么圖中事務A、B查詢到的值分別是多少?(事務隔離級別是可重復讀)
注:begin/start transaction 命令并不是一個事務的起點,在執行到它們之后的第一個操作 InnoDB 表的語句,事務才真正啟動。如果你想要馬上啟動一個事務,可以使用 start transaction with consistent snapshot 這個命令。
答案:A查出來是1,B查出來是3。
A查出來是1是因為它是這3個事務里面最早創建的事務,其他后序創建的事務都對他不可見。
B之所以能查出來C更新后的2再更新后得到的3,是因為update是當前讀,當前讀后再更新,當前讀能讀到最新的更新后的值。
select可以實現當前度的方式有兩種:
mysql> select k from t where id=1 lock in share mode;
mysql> select k from t where id=1 for update;
第一種是共享鎖,第二種是排它鎖。
原創文章,作者:geekgao,如若轉載,請注明出處:https://www.geekgao.cn/archives/2739
總結
以上是生活随笔為你收集整理的mysql事务 可见性,【每日阅读】2020年12月09日-事务先后的可见性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 残疾人射箭分级公开级是什么意思?
- 下一篇: 清明节亲子可以去哪里玩?