查询最大值是否需要对表进行锁定?
大家请看这里噢,:)
请问,查询最大值时,是否需要对表进行加锁。
因为考虑到查询最大值时,可能会同时有新插入的记录,这样查询的最大值是否准确?
sql server本身select或insert时就会产生锁,是不?
select?insert?加锁
[解决办法]
锁是肯定加的,但是不一定是锁定表。如果是MAX的字段是Clustered Index的话,一条记录就可以得到值了。如果不是的话可能需要INDEX SCAN或者TABLE SCAN需要锁定表的数据。
[解决办法]
请问,查询最大值时,是否需要对表进行加锁。
--> 不一定,看查询语句的写法.
select max([字段]) from [表名] --> 加锁
select max([字段]) from [表名](nolock) --> 不加锁