重复查询需要很长时间
问题描述:
我正在使用SQL Server 2014标准版并致力于应用程序的性能调优。重复查询需要很长时间
如果我多次执行相同的查询,执行时间每次都会增加,直到恢复到几乎正常。例如
SELECT * FROM dbo.Employee WHERE emp_name = 'sam'
| first time | 9 sec |
| 2nd time | 18 sec |
| 3rd time | 29 sec |
| 4th time | 10 sec |
任何帮助将高度赞赏。
答
如果这是您的查询:
Select *
from dbo.Employee
where emp_name = 'sam';
那么你一定要在Employee(emp_name)
索引或者emp_name
是第一列中的复合索引。
在大多数情况下,这样的查询不应该花费数秒 - 除非你有很多Sam's,列特别宽,或者“table”实际上是一个视图。
您正在优化一个应用程序,所以我想你可以找到问题的原因。你有没有试图在SSMS中执行这个查询? –
你的员工表有多大?我不会期望像这样的简单查询9秒钟。你可以尝试把一个索引放在emp_name列上吗? – Forklift
如果它是一个实时数据库,其他进程可能访问同一个表,或者服务器可能忙于处理其他请求,从而改变执行时间。如果执行计划和成本相同但时间不同,情况就是如此。 – cloudsafe