亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring下,mysql下,不用@Transactional的方法里select有臟讀問題嗎?

spring下,mysql下,不用@Transactional的方法里select有臟讀問題嗎?

青春有我 2019-03-18 21:04:15
spring下,mysql默認RR隔離級別下,不用@Transactional的方法里select是沒有事務支持吧?那么有臟讀問題嗎?
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

不會的, 臟讀只有在最低隔離級別?。遥铡r才會出現

查看完整回答
反對 回復 2019-03-18
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

實際和Spring沒有關系的,本質還是MySQL的問題。

還要區分好,事務和隔離級別的關系。當存在并發事務時,如果沒有恰當的隔離界別的話,會導致并發狀態不正確,簡單點說,不同隔離級別是保證系統狀態正確和性能之間的權衡與妥協。

再者說,MySQL的數據引擎是InnoDB的話。 在InnoDB數據庫引擎中,所有用戶執行的數據庫語句都發生在事務中。如果啟動autocommit模式,每條SQL語句自己開啟一個單獨的事務。默認情況下,MySQL在每個connection啟動session,autocommit默認開啟,所以如果這條SQL語句執行完畢沒有返回error,MySQL自動執行commit。當然你可以手動關閉,很多內容Spring幫你做了。

最后說一句,可重復讀是MySQL的默認事務隔離級別。


查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 544 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號