微软的SQL SERVER联机丛书的理解。

ah_2047 2012-05-09 07:22:17
在 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 中,游标定义中的 SELECT 语句受限于应用到任何其他 SELECT 语句中的相同事务锁定规则。任何 SELECT 语句(包括游标定义中的 SELECT 语句)所获取的事务锁都由以下因素控制:

为连接所设置的事务隔离级别


在 FROM 子句中指定的任何锁定提示。


只对于基表或索引游标而言,事务隔离级别可能会影响到所获取的锁。

重要事项:
对于 READ COMMITTED 的默认隔离级别,SQL Server Mobile 不会在定位或读取数据时获取锁。


以上是微软对于游标和自动提交事务之间的关系,确实把我等小菜弄晕了。
以下是我对上面这个文章的理解:
1、游标定义中的 SELECT 语句受限于应用到任何其他 SELECT 语句中的相同事务锁定规则
1无法理解。。。请高手指点
2、任何 SELECT 语句(包括游标定义中的 SELECT 语句)所获取的事务锁都由以下因素控制:

为连接所设置的事务隔离级别, 在 FROM 子句中指定的任何锁定提示。只对于基表或索引游标而言,事务隔离级别可能会影响到所获取的锁。

2理解为:游标对于事务的控制优先级低于SQLSERVER默认的事务隔离级别!

3、对于 READ COMMITTED 的默认隔离级别,SQL Server Mobile 不会在定位或读取数据时获取锁
3理解为:READ COMMITTED隔离级别的时候,不会影响正常的读取和定位数据。


...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_y_y_g 2012-05-15
  • 打赏
  • 举报
回复
伤不起啊。。搞编程里英语水平都得刚刚滴。。。
  • 打赏
  • 举报
回复
任何 SELECT 语句(包括游标定义中的 SELECT 语句)所获取的事务锁都由以下因素控制:

为连接所设置的事务隔离级别


在 FROM 子句中指定的任何锁定提示。


只对于基表或索引游标而言,事务隔离级别可能会影响到所获取的锁。

-->>


1、当事务并发时,select的执行会受到事务隔离级别的影响。举个例子:在默认的READ COMMITTED 的隔离级别中,select 是在执行完毕就会释放锁,而在SERIALIZABLE中,是在整个事务执行完毕之后,才会释放锁。
2、from可以指定加锁的粒度


对于 READ COMMITTED 的默认隔离级别,SQL Server Mobile 不会在定位或读取数据时获取锁。

--》》这里指的是sql server mobile而不是一般的sql
唐诗三百首 2012-05-09
  • 打赏
  • 举报
回复
建议看英文版的MSDN,中文版有些翻译不太理想,影响理解.

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧