《数据库隔离性的名词解释》由会员分享,可在线阅读,更多相关《数据库隔离性的名词解释(2页珍藏版)》请在金锄头文库上搜索。
1、题目: 请用自己的话描述 read uncommitted, read committed, repeatable read,serializable 这4种隔离级别的不同特点。1. Read uncommitted(未提交读) 所谓Read uncommitted ,就是指可以读取未提交的数据。 如有两个事务T1,T2,当事务T1对数据做了修改之后而没有提交时,若T2再对数据进行读取操作,则T2会一直处于等待状态,直到T1提交修改。 但是如果在事务T2上加上 set transaction isolation levelread uncommitted 的语句,则T1没有提交时,T2也可以对
2、数据进行读取操作。2. Read committed(已提交读) 所谓Read committed ,就是指只能读取提交并解锁后的数据。这是SQL sever的默认值。如有两个事务T1,T2,当事务T1对数据做了修改并提交后,若T2再对数据进行读取操作,运行很正常。 但是如果在事务T2上加上 set transaction isolation levelread committed的语句,则T2会一直处于等待状态,除非在T2的读取操作中解除T1对数据的锁,即加上WITH (NOLOCK) 的语句,运行才会正常。3. Repeatable read(可重复读)可重复读可以防止脏读和不可重复读的发生,但仍然会出现幻象。如有1个事务T1,如果在事务T1上加上 set transaction isolation levelrepeatable read在T1读取了数据并对数据进行了修改,但是没有提交的时候,如果T1再次读取此数据时,读到的数据和修改之前读到的数据是一样的。4. serializable(可串行化)所谓serializable,就是指不允许多个事务同时进行。如有两个事务T1,T2,如果在事务T1上加上 set transaction isolation levelserializable的语句,则在事务T1完成之前,事务T2不可以对数据产生任何操作。