看了一些书.总对隔离级别和锁的概念有点混淆
尤其是隔离级别.
后来慢慢感觉到.事务隔离级别概念似乎是SQL SERVER提供的一种特殊的锁概念.
它自动为一个事务加上了一些锁的集成,对事务中出现的表或数据提供事先已经定义好的锁概念.
而锁是可以让用户自己去定义自己想要的锁集成(可通过不同的锁来实现自己的想法)
比如说:事务隔离级别中的serializable实际上用户可以自己用锁来实现这样的级别的
不知道我上面所说的概念正确吗.恳请个为资深人士帮帮小弟
谢谢
尤其是隔离级别.
后来慢慢感觉到.事务隔离级别概念似乎是SQL SERVER提供的一种特殊的锁概念.
它自动为一个事务加上了一些锁的集成,对事务中出现的表或数据提供事先已经定义好的锁概念.
而锁是可以让用户自己去定义自己想要的锁集成(可通过不同的锁来实现自己的想法)
比如说:事务隔离级别中的serializable实际上用户可以自己用锁来实现这样的级别的
不知道我上面所说的概念正确吗.恳请个为资深人士帮帮小弟
谢谢
解决方案 »
- SQL语句求助!
- 如何让这条设置成为整个数据库的默认SET ANSI_WARNINGS OFF/ON
- 如何显示nvarchar字段?
- 我想让SQLServer的SQL语句把 1234567.123456 输出成 1,234,567.123456 这样的格式,怎么实现?
- 有关Sql IIF()函数的问题,大家来帮忙的说.
- 邹建及各位高人进 看看这条SQL语句,测试已经实现 不知道流程是不是理论上正确
- csv文件导入数据库 逗号问题 急。
- 急!急!急!哪位好心人帮帮小弟啊!!!给80分
- 求一SQL语句
- Access 前台 向SQL Server 链接表插入Image数据
- 高手请教一个数据库设计问题,十万分火急!!
- 批量更新编号
--------------------------------------------
事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了 SQL Server 使用的锁定行为。SQL-92 定义了下列四种隔离级别,SQL Server 支持所有这些隔离级别: 未提交读(事务隔离的最低级别,仅可保证不读取物理损坏的数据)。
提交读(SQL Server 默认级别)。
可重复读。
可串行读(事务隔离的最高级别,事务之间完全隔离)。
如果事务在可串行读隔离级别上运行,则可以保证任何并发重叠事务均是串行的。下面四种隔离级别允许不同类型的行为。隔离级别 脏读 不可重复读取 幻像
未提交读 是 是 是
提交读 否 是 是
可重复读 否 否 是
可串行读 否 否 否