只讀事務(wù)和沒有事務(wù)有什么區(qū)別?
你好Oracle默認(rèn)情況下(沒有事務(wù)) 保證了SQL語句級(jí)別的讀一致性,即在一條SQL語句執(zhí)行期間,它只會(huì)看到執(zhí)行前點(diǎn)的數(shù)據(jù)狀態(tài),而不會(huì)看到執(zhí)行期間數(shù)據(jù)被其他SQL改變的狀態(tài)。所以如果執(zhí)行多條SQL的時(shí)候呢?
比如你做一個(gè)報(bào)表查詢,在執(zhí)行完第一條sql的時(shí)候,執(zhí)行第二條查詢SQL,而這個(gè)之間有數(shù)據(jù)被改變了,第二條數(shù)據(jù)查詢就有可能不一致而Oracle的只讀查詢則保證了事務(wù)級(jí)別的讀一致性,即在該事務(wù)范圍內(nèi)執(zhí)行的多條SQL都只會(huì)看到執(zhí)行前點(diǎn)的數(shù)據(jù)狀態(tài),而不會(huì)看到事務(wù)期間的任何被其他 SQL改變的狀態(tài)。
沒有事務(wù)的時(shí)候,在執(zhí)行一條sql語句看到執(zhí)行前點(diǎn)的數(shù)據(jù)狀態(tài),保證數(shù)據(jù)一致性只讀事務(wù),在執(zhí)行多條sql語句看到執(zhí)行前點(diǎn)的數(shù)據(jù)狀態(tài),保證數(shù)據(jù)一致性 希望對(duì)你有幫助