我有一个拥有20个客户端的服务器。如果我不使用客户端1天,查询结果将在2:30分钟后(超过1000行)到达。执行5/6查询后,结果将在几秒钟后到达。
我认为这是SQL Server的调度问题。我该如何解决?
由于
更新
这是查询
Select * from [WWALMDB].[dbo].[v_AlarmConsolidated]
Where Critico = 1 AND ApprovatoQA = 0
AND InAttesaDiRiconoscimento Like '%param1%'
AND (Tipo Like '%param2%') AND Area Like '%param3%'
AND Nome Like '%%param4%%' AND Descrizione Like '%%param5%%'
AND (([Dataora Scatto] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora Scatto] <= CONVERT(DATETIME,'param7',105))
OR( ([Dataora Rientro] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora Rientro] <= CONVERT(DATETIME,'param7',105)) )
OR( ([Dataora PresoInCarico] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora PresoInCarico] <= CONVERT(DATETIME,'param7',105)) ))
ORDER BY AlarmID DESC
答案 0 :(得分:0)
您所描述的是正常的SQL Server缓存行为。
有关MSSQL Server缓存机制you can find here
的详细信息如果不知道背景(例如sql查询,sql server机器的健康状态和实际数据库数据结构),就不可能告诉你任何其他事情。
<强>更新强>
你的查询可能是如此糟糕的优化,这实际上是一个奇迹,它只有2:30
SELECT *
LIKE '%%*%%'
ORDER BY