MySQL 提供了四種隔離級別,分別是:
讀未提交(Read Uncommitted):當一個事務正在執行時,它所做的修改對于其他事務都是可見的,即未提交的數據也可以被其他事務訪問。
讀已提交(Read Committed):當一個事務正在執行時,它所做的修改只有在事務提交后才會對其他事務可見,這樣可以避免臟讀。
可重復讀(Repeatable Read):在一個事務執行期間,多次讀取同一數據,得到的結果是一致的,即其他事務對該數據的修改在當前事務中不可見。
串行化(Serializable):最高的隔離級別,保證了事務的完全隔離,即其他事務無法讀取或修改正在執行的事務的數據,從而避免了幻讀的問題。
可以通過設置SET TRANSACTION ISOLATION LEVEL
語句來指定隔離級別,例如:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;