Tuesday, September 28, 2010

SYBASE Services


Services

This article describes the database transaction isolation level on the impact of the lock, by comparing the transaction isolation level 0 and 1, to understand the relationship between the lock and dirty time.

Experiment: set 0 and 1 respectively, isolation level, the implementation of two different but related issues there. The experimental environment is as follows:

1, the right to access the user database (in this case aca_database) and modify database tables and queries have permissions.

2, the database contains tables auths, including salary column (data type is money), there is a certain amount of data (in 1 million lines).

Steps:

1, as in the same machine, can be performed separately two "SQL Advantage", respectively legitimate account login, prepare their own implementation of a transaction.

2 Open the user interface in their database aca_database, set the isolation level to 1 (also goes for the default value):

set transaction isolation level 1, see the current isolation level using select @ @ isolation

3, the implementation of the first two sentences of the first transaction, suspending and later committed or rolled back.

begin transaction

update auths set salary = salary +100

commit transaction

(Rollback transaction)

4, the implementation of the second transaction select sum (salary) from auths

5, the end of the normal execution of a transaction, but only changes in the memory buffer to complete the transaction and did not really end, do not release the corresponding lock, the second transaction in the wait state. Executable sp_lock and sp_who command.

6, step 3 in order to submit or rollback, the second transaction to be implemented.

7, to change the transaction isolation level is 0, repeat steps 3-4. No change in the first transaction, the second transaction will soon come under the first transaction is made to modify the data results, it seems that the implementation of the response on the first transaction is not subject to influence.

8 Repeat step 6 the end.

Through the above experiments we know that:

1, transaction isolation level 0 allows dirty read transaction isolation level 1, does not allow dirty read, but rather wait for real before the end of a modified transaction and release the lock.

2, isolation level 0, if the modification is to rollback the last transaction, then the query time transaction will not read the correct data.

3, satisfied that there is no rollback transaction possible, and called for greater efficiency and parallel implementation, only then we may consider setting isolation level to 0.






Recommended links:



Flash to MPEG



Switch Network Device



INFOMATION Helpdesk And Remote PC



Easy To Use Graphic CAD



My Experience With AutoCAD Rendering



Baidu's sensual JOURNEY



Year Season: How To Make Cash "flow Up"



SWF to MP4



How to avoid price War



British grams, Novel Medicine 1000 Chain layout help



Shop Audio CD Players



Suspected Of Extortion Donews Producer Liu Ren Denies Allegations



Call of operations of Foreign carriers



Citrix Appoints CAO Heng Kang As vice president and general manager of Greater China



DVR-MS to MPG