MySQL事務(wù)級(jí)別有哪5種
在MySQL數(shù)據(jù)庫(kù)中,事務(wù)級(jí)別指定了一個(gè)事務(wù)中對(duì)于其他事務(wù)所見(jiàn)的可見(jiàn)性。MySQL提供了5種不同的事務(wù)級(jí)別,分別是:
READ UNCOMMITTED:讀未提交
READ UNCOMMITTED允許事務(wù)讀取其他事務(wù)未提交的修改,因此存在臟讀、幻讀和不可重復(fù)讀的問(wèn)題。此級(jí)別提供的并發(fā)性是最高的,但數(shù)據(jù)的一致性也最容易被破壞。
READ COMMITTED:讀已提交
READ COMMITTED允許事務(wù)讀取其他事務(wù)已提交的修改,但仍存在幻讀和不可重復(fù)讀的問(wèn)題。這是MySQL的默認(rèn)級(jí)別。
REPEATABLE READ:可重復(fù)讀
REPEATABLE READ允許一個(gè)事務(wù)中的查詢看到自己修改過(guò)的數(shù)據(jù)。在此級(jí)別下,不會(huì)出現(xiàn)幻讀,但仍存在不可重復(fù)讀的問(wèn)題。
SERIALIZABLE:串行化
SERIALIZABLE要求所有并發(fā)事務(wù)按照某一順序依次執(zhí)行,因此不會(huì)出現(xiàn)任何并發(fā)問(wèn)題,但并發(fā)性較差。
READ DEFAULT:使用默認(rèn)事務(wù)級(jí)別
READ DEFAULT使用MySQL的默認(rèn)隔離級(jí)別,即READ COMMITTED。