jdbc事務(wù)隔離級(jí)別有幾種?
1.RR隔離級(jí)別:在此隔離級(jí)別下,DB2會(huì)鎖住所有相關(guān)的紀(jì)錄。在一個(gè)SQL語句執(zhí)行期間,所有執(zhí)行此語句掃描過的紀(jì)錄都會(huì)被加上相應(yīng)的鎖。具體的鎖的類型還是由操作的類型來決定,如果是讀取,則加共享鎖;如果是更新,則加獨(dú)占鎖。由于會(huì)鎖定所有為獲得SQL語句的結(jié)果而掃描的紀(jì)錄,所以鎖的數(shù)量可能會(huì)很龐大,這個(gè)時(shí)候,索引的增加可能會(huì)對(duì)SQL語句的執(zhí)行有很大的影響,因?yàn)樗饕龝?huì)影響SQL語句掃描的紀(jì)錄數(shù)量。
2.RS隔離級(jí)別:此隔離級(jí)別的要求比RR隔離級(jí)別稍弱,此隔離級(jí)別下會(huì)鎖定所有符合條件的紀(jì)錄。不論是讀取,還是更新,如果SQL語句中包含查詢條件,則會(huì)對(duì)所有符合條件的紀(jì)錄加相應(yīng)的鎖。如果沒有條件語句,也就是對(duì)表中的所有記錄進(jìn)行處理,則會(huì)對(duì)所有的紀(jì)錄加鎖。
3.CS隔離級(jí)別:此隔離級(jí)別僅鎖住當(dāng)前處理的紀(jì)錄。
4.UR隔離級(jí)別:此隔離級(jí)別下,如果是讀取操作,不會(huì)出現(xiàn)任何的行級(jí)鎖。對(duì)于非只讀的操作,它的鎖處理和CS相同