什么时候该上什么锁是不是数据库服务器自己的机制判断决定的,那么作为使用者能不能知道服务器作出相关上锁的判断依据呢 “什么时候该上什么锁是不是数据库服务器自己的机制判断决定的” 基本上是的,但也可以显示的加query hint。 http://technet.microsoft.com/en-us/library/aa213026(v=sql.80).aspx “那么作为使用者能不能知道服务器作出相关上锁的判断依据呢” 是的,这个是根据事物的隔离级别. http://technet.microsoft.com/en-us/library/ms189122(v=sql.105).aspx
什么时候该上什么锁是不是数据库服务器自己的机制判断决定的,那么作为使用者能不能知道服务器作出相关上锁的判断依据呢
[quote=引用 36 楼 dfasri 的回复:] [quote=引用 35 楼 cxmcxm 的回复:] 锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
[quote=引用 44 楼 SmithLiu328 的回复:] [quote=引用 43 楼 dfasri 的回复:] 一条记录也就是一个表, 在插入的时候就算你不想上锁, 数据库底层还是谁最后更新进去, 就会谁是最后结果, 锁早就在数据库内部做好了...外部还需要上什么锁..
[quote=引用 43 楼 dfasri 的回复:] 一条记录也就是一个表, 在插入的时候就算你不想上锁, 数据库底层还是谁最后更新进去, 就会谁是最后结果, 锁早就在数据库内部做好了...外部还需要上什么锁..
[quote=引用 42 楼 SmithLiu328 的回复:] [quote=引用 41 楼 dfasri 的回复:] [quote=引用 38 楼 SmithLiu328 的回复:] [quote=引用 36 楼 dfasri 的回复:] [quote=引用 35 楼 cxmcxm 的回复:] 锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
[quote=引用 41 楼 dfasri 的回复:] [quote=引用 38 楼 SmithLiu328 的回复:] [quote=引用 36 楼 dfasri 的回复:] [quote=引用 35 楼 cxmcxm 的回复:] 锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
[quote=引用 38 楼 SmithLiu328 的回复:] [quote=引用 36 楼 dfasri 的回复:] [quote=引用 35 楼 cxmcxm 的回复:] 锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
[quote=引用 35 楼 cxmcxm 的回复:] 锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
锁是用来保证事务完整性的,并不单单是读写操作。 比如入库操作,最简单的,必须更新两个表 入库记录表与库存表,两个表一起更新后,提交事务,成功后锁才会释放 入库记录可能很快,更新库存可能很慢,但在提交事务前,update的记录会一直被锁住。 保证数据不会被别的用户修改。
34,594
社区成员
254,589
社区内容
加载中
试试用AI创作助手写篇文章吧