sql 锁 的概念

[复制链接]
查看11 | 回复3 | 2016-9-22 02:03:42 | 显示全部楼层 |阅读模式
一直不明白sql锁是干什么用的有没有实际运用意义看书上说的锁好像都想一般的语句里集成了不用我们加了好像还有一种叫悲观锁的 要程序员加书上也没介绍要怎么加 加在那里 加上之后能起什么作用

麻烦大哥给简单的说说什么悲观锁是怎么回事 锁在语句中怎么加
不要复制 因为我看不懂

回复

使用道具 举报

千问 | 2016-9-22 02:03:42 | 显示全部楼层
举个例子吧 当你要进一个房间的时候,你想推门,这个时候刚好有个人想出来,他也想推门出去,于是,两个人就卡在那了,结果,后面排队的人也都动弹不了了,假如这个房间是个数据库,那么,数据库这个时候就卡壳了。锁正是为避免这种情况出现的悲观锁就是 一个一个来,当有人想进这个房间的时候,其他人都别动但假如这个房间有很多门,这些门通往不同的地方,比如,有可以直接进洗手间的,有可以进厨房的,结果,你一个人想去卧室,却禁止其他人进洗手间,这样对效率就会产生影响。于是,乐观所就是,当你想进的时候,等到你来到门的门口,才把当前这个门锁住。之所以叫乐观,也就是说,乐观地假定你的行为不会影响到其他人,等到影响到的时候再加锁。而悲观的意思,就是一开始就假定你会影响到其...
回复

使用道具 举报

千问 | 2016-9-22 02:03:42 | 显示全部楼层
◆锁的类别有两种分法: 1. 从数据库系统的角度来看:分为独占锁(即排它锁),共享锁和更新锁 MS-SQL Server 使用以下资源锁模式。 锁模式 描述 共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。 更新 (U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后...
回复

使用道具 举报

千问 | 2016-9-22 02:03:42 | 显示全部楼层
在语句中使用rowlock选项比如select *from 表 (rowlock)where ...各种操作的默认锁定级别是不一样的。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行