SQL语句:
exec sp_executesql N'SELECT [t0].[id], [t0].[title], [t0].[year], [t0].[date], [t0].[content]
FROM [dbo].[xxxx] AS [t0]
WHERE [t0].[date] = @p0
ORDER BY [t0].[year]',N'@p0 nvarchar(4000)',@p0=N'12-17'
用的SQL2005数据库,上面语句是LINQ生成的,我在查询分析器里看到该语句执行时,CPU占用有15..
系统一时想不开,间歇性抑郁症。
CPU 利用率高,说明Sql server 正在从系统中查找数据,需要将数据从disk读取到data cache中,即IO次数多,IO次数多的原因主要是row size 太长,比如你的content,或者没有创建合适的索引,导致sql server 需要进行table scan,或者 server的physical memory 少,sql server paging 次数多,最后一个原因就是你的数据量大。
另外,sorting operation 需要耗费extra memory,用到tempdb,这或许IO次数多的一个因素。如果没有必须进行排序,建议不要使用order by 语句。
希望能帮到你