我使用SET ROWCOUNT 27900
然后选择两列:
Select
emp.employeeid,
empd.employeedetailid
From
employee emp (NOLOCK)
join
employeedetail empd (NOLOCK) on emp.employeeid = empd.employeeid
此查询在3秒后执行
如果我使用SET ROWCOUNT 27950
,则相同的查询需要20秒才能执行。
我不是一个SQL DBA,为什么只有50行有17秒的差异。这与页面大小或索引有关吗?
有人可以帮我调整查询吗?
答案 0 :(得分:0)
您是否尝试使用TOP
代替SET ROWCOUNT
,并添加ORDER BY
?
SELECT TOP 27900 emp.employeeid, ...
ORDER BY ...;
这将为优化器提供更好的优化机会。简单来说,在处理完整个查询之后,应用了SET ROWCOUNT
,并且仅影响发送回调用方的行...