mysql提供的隔離級(jí)別有哪幾種

小億
94
2023-09-15 14:24:35
欄目: 云計(jì)算

MySQL 提供了四種隔離級(jí)別,分別是:

  1. 讀未提交(Read Uncommitted):當(dāng)一個(gè)事務(wù)正在執(zhí)行時(shí),它所做的修改對(duì)于其他事務(wù)都是可見(jiàn)的,即未提交的數(shù)據(jù)也可以被其他事務(wù)訪問(wèn)。

  2. 讀已提交(Read Committed):當(dāng)一個(gè)事務(wù)正在執(zhí)行時(shí),它所做的修改只有在事務(wù)提交后才會(huì)對(duì)其他事務(wù)可見(jiàn),這樣可以避免臟讀。

  3. 可重復(fù)讀(Repeatable Read):在一個(gè)事務(wù)執(zhí)行期間,多次讀取同一數(shù)據(jù),得到的結(jié)果是一致的,即其他事務(wù)對(duì)該數(shù)據(jù)的修改在當(dāng)前事務(wù)中不可見(jiàn)。

  4. 串行化(Serializable):最高的隔離級(jí)別,保證了事務(wù)的完全隔離,即其他事務(wù)無(wú)法讀取或修改正在執(zhí)行的事務(wù)的數(shù)據(jù),從而避免了幻讀的問(wèn)題。

可以通過(guò)設(shè)置SET TRANSACTION ISOLATION LEVEL語(yǔ)句來(lái)指定隔離級(jí)別,例如:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

0