事務(wù)特性:
1、原子性:一個事務(wù)(transaction)中的所有操作半夷,要么全部完成凉唐,要么全部不完成盅藻,不會結(jié)束在中間某個環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯誤群嗤,會被回滾(Rollback)到事務(wù)開始前的狀態(tài)菠隆,就像這個事務(wù)從來沒有執(zhí)行過一樣。
2狂秘、一致性:在事務(wù)開始之前和事務(wù)結(jié)束以后骇径,數(shù)據(jù)庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預(yù)設(shè)規(guī)則者春,這包含資料的精確度破衔、串聯(lián)性以及后續(xù)數(shù)據(jù)庫可以自發(fā)性地完成預(yù)定的工作。
3钱烟、隔離性:數(shù)據(jù)庫允許多個并發(fā)事務(wù)同時對其數(shù)據(jù)進行讀寫和修改的能力晰筛,隔離性可以防止多個事務(wù)并發(fā)執(zhí)行時由于交叉執(zhí)行而導(dǎo)致數(shù)據(jù)的不一致。事務(wù)隔離分為不同級別忠售,包括讀未提交(Read uncommitted)传惠、讀提交(read committed)迄沫、可重復(fù)讀(repeatable read)和串行化(Serializable)稻扬。
4、持久性:事務(wù)處理結(jié)束后羊瘩,對數(shù)據(jù)的修改就是永久的泰佳,即便系統(tǒng)故障也不會丟失。
事務(wù)隔離級別
讀未提交:A事務(wù)開啟后尘吗,B事務(wù)對數(shù)據(jù)進行修改后未提交時逝她,A事務(wù)就可以讀取到B事務(wù)修改的數(shù)據(jù),即:臟讀
讀已提交:A事務(wù)開啟后睬捶,B事務(wù)對數(shù)據(jù)進行修改并提交后黔宛,A事務(wù)可以讀取到B事務(wù)修改的數(shù)據(jù),即:不可重復(fù)讀
可重復(fù)讀:A事務(wù)開啟后擒贸,無論其他事物對數(shù)據(jù)做何修改A事務(wù)讀取到的數(shù)據(jù)都是一致的臀晃,即:幻讀
串行化:每個事物都排隊執(zhí)行