事務(wù)級別是指在數(shù)據(jù)庫中處理事務(wù)時(shí)的參考程度。同時(shí),它也是指在數(shù)據(jù)庫處理事務(wù)的過程中,控制并發(fā)的各種鎖定機(jī)制。
mysql事務(wù)級別的種類MYSQL的事務(wù)級別種類有四種,分別是:READ UNCOMMITTED( 未提交讀)、READ COMMITTED(提交讀)、REPEATABLE READ( 可重復(fù)讀)、SERIALIZABLE(串行化讀),級別由低到高逐漸逐步增強(qiáng)。
READ UNCOMMITTED級別READ UNCOMMITTED是指事務(wù)處理過程中可以讀取仍未提交的數(shù)據(jù)。讀取過程是無鎖的。它的優(yōu)點(diǎn)在于可以避免鎖定,提高數(shù)據(jù)并發(fā)性能,但同時(shí)也存在讀取不到最新數(shù)據(jù)的風(fēng)險(xiǎn),存在數(shù)據(jù)的缺失。
READ COMMITTED級別READ COMMITTED_LEVEL(提交讀)是指一個(gè)事務(wù)讀操作只能查看已提交的數(shù)據(jù),代表當(dāng)前讀取的數(shù)據(jù)處于一個(gè)已提交的事務(wù)中。在這個(gè)級別之下, MySQL的默認(rèn)配置是使用 row-level 的鎖定機(jī)制,悲觀并發(fā)。 在這個(gè)級別下,相比READ UNCOMMITTED級別避免了數(shù)據(jù)丟失的風(fēng)險(xiǎn),更安全一些。
REPEATABLE READREPEATABLE READ(可重復(fù)讀)是指事務(wù)處理過程中,可重復(fù)讀的數(shù)據(jù)是指在開始的事務(wù)中進(jìn)行的所有操作,不包含其他事務(wù)提交的操作。事務(wù)處理過程中,進(jìn)行了一些操作之后,要么全部生效,要么全部回滾。
SERIALIZABLE級別SERIALIZABLE是事務(wù)級別中的最高級別。在這個(gè)級別下,數(shù)據(jù)庫按一個(gè)事務(wù)在處理數(shù)據(jù)之前要獲取一個(gè)排它鎖來訪問一個(gè)表。這個(gè)級別會對性能造成很大的影響,也難以有效控制并發(fā)。但是它保證了數(shù)據(jù)的完整性和安全。