What does "Dirty Read Last Committed" mean?
Posted in 2010
Topics: Server Administration, Transactions, Locking & Isolation
The description of USELASTCOMMITTED in onconfig file is: ############ Controls the committed read isolation level. Acceptable values are: - NONE Waits on a lock - DIRTY READ Uses the last committed value in place of a dirty read - COMMITTED READ Uses the last committed value in place of a committed read - ALL Uses the last committed value in place of all isolation levels that support the last committed option ############ I know "Dirty Read", "Committed Read" and "Committed Read Last Committed". But I don't know "Dirty Read Last Committed". What does "Dirty Read Last Committed" mean? See the following scenario: Set the value of USELASTCOMMITTED to ALL. Set the isolation level of session A to "Dirty Read". Set the isolation level of session B to "Committed Read". What's the difference between session A and session B when isolation is concerned?
ids-bounces@iiug.org wrote on 09/02/2010 04:09:24 AM: > From: > > "STEPHEN XIE" <xieyexieye@gmail.com> > > To: > > ids@iiug.org > > Date: > > 09/02/2010 04:09 AM > > Subject: > > What does "Dirty Read Last Committed" mean? [21116] > > Sent by: > > ids-bounces@iiug.org > > The description of USELASTCOMMITTED in onconfig file is: > ############ > Controls the committed read isolation level. > Acceptable values are: > - NONE Waits on a lock > - DIRTY READ Uses the last committed value in place of a dirty read > - COMMITTED READ Uses the last committed value in place of a committe= d read > - ALL Uses the last committed value in place of all isolation levels = that > support the last committed option > ############ > > I know "Dirty Read", "Committed Read" and "Committed Read Last Committed". > But I don't know "Dirty Read Last Committed". > What does "Dirty Read Last Committed" mean? It means that Committed Read Last Committed isolation will be used in p= lace of Dirty Read. There is no "Dirty Read Last Committed" by the way - it = is "Committed Read Last Committed". Before the days of Last Committed, the only way to have non-blocked readers was to set isolation to dirty read. This is a means to let thos= e users see non-blocked readers without having to get into trouble becaus= e of seeing dirty uncommitted data. > > See the following scenario: > Set the value of USELASTCOMMITTED to ALL. > Set the isolation level of session A to "Dirty Read". > Set the isolation level of session B to "Committed Read". > What's the difference between session A and session B when isolation = is > concerned? None. Since the ONCONFIG is set to override both to Committed Read Last= Committed, they both end up having same isolation levels internally. HTH... Regds, Uday.=
Uday Kale, thank you very much!