MSSQL WITH(NOLOCK)无效

2019-06-24 08:31发布

问题:

请教个SQL的问题:
我的DB是MsSql,有张表一直在往里插入数据,我想看表中的实时数量于是写了以下SQL:
SELECT COUNT (1) FROM JDSkuDetails WITH(NOLOCK)
特意加了WITH(NOLOCK),但还是查询不出数据一直卡着不动。
请问这是什么原因啊?

补充:刚刚试了一下select * 可以取出数据,但是count(1)取不出来。

回答1:

“有张表一直在往里插入数据,我想看表中的实时数量于是写了以下SQL”,

说明这种表被插入数据的事务锁住了,所以查询不出数据一直卡着不动



回答2:

COUNT (1)改成COUNT (‘主键名称’)试试,(1)和(*)这里是代名词不是具体的列,估计就和WITH(NOLOCK)冲突了



回答3:

表里有null的行吗



标签: sql nolock count