锁和事务的隔离级别一起起作用的
通常使用readcommit隔离级别,这样防止脏读,但有非重复读,和幻像数据问题
sql server加锁的范围比较大些,而anywhere是按行加锁的比较灵活。
举例
sql server
test
id name
1 11111
3 3333
1。
begin tran
insert test values(2,'111')
delete from test where id=3
2.select * from test where id=1
被锁定要等待1完成后才能执行
anywhere
同样的语句,2直接查询出结果,不会被阻塞
相当于 sql server加上readpast也啵、跳不过去
通常使用readcommit隔离级别,这样防止脏读,但有非重复读,和幻像数据问题
sql server加锁的范围比较大些,而anywhere是按行加锁的比较灵活。
举例
sql server
test
id name
1 11111
3 3333
1。
begin tran
insert test values(2,'111')
delete from test where id=3
2.select * from test where id=1
被锁定要等待1完成后才能执行
anywhere
同样的语句,2直接查询出结果,不会被阻塞
相当于 sql server加上readpast也啵、跳不过去