多個sqlseesion會不會出現?臟讀
我有問題?數據庫的默認隔離級別會防止臟讀,但是 在 mybatis這邊如果只有一個sqlsession ?應該不會出現臟讀,如果是兩個以上是sqlsession操作同一條數據,是不是就會出現?臟讀的現象?分布式環境中?
我有問題?數據庫的默認隔離級別會防止臟讀,但是 在 mybatis這邊如果只有一個sqlsession ?應該不會出現臟讀,如果是兩個以上是sqlsession操作同一條數據,是不是就會出現?臟讀的現象?分布式環境中?
2020-05-15
舉報
2020-08-16
一級緩存 是sqlsession 級別的,所以多個sqlsession 不存在上面說的臟讀的問題。就算是分布式的環境下,就像視頻中的說的 SqleSession是開啟數據庫事務的,這個就要結合數據庫 默認的事物級別有關系了? 正常MySql 默認的是可重復讀,然后利用MVCC和數據庫的鎖 去解決了 幻讀的問題!
2020-06-12
查詢不會,增刪改都會產生這些臟讀.....
2020-05-15
臟讀是說一個事務讀到了另外一個事務未提交的數據,MySQL的默認事務隔離級別是可重復讀的,一個事務不會讀到其他事務未提交的數據,所以不會出現臟讀的情況。Mybatis中的sqlsession是線程私有的(使用了ThreadLocal)。
2020-05-15
理解有錯誤。既然一級緩存是sqlsession級別的。那不同的sqlsession是不是共用一個緩存?如果不是,應該是會有臟讀的吧