从sql server中的表中选择“最小值”和“最大值”会增加CPU使用率

从sql server中的表中选择“最小值”和“最大值”会增加CPU使用率,sql,asp.net,sql-server-2008,sql-server-2008-r2,Sql,Asp.net,Sql Server 2008,Sql Server 2008 R2,如果我想从表中选择最小值和最大值,我可以使用: SELECT CVC.CurrencyVSCurrencyId,MAX(SP.High) High,MIN(SP.Low) Low,CVC.Title FROM YearHighLow SP INNER JOIN CurrencyVSCurrency CVC ON SP.Currency=CVC.Title WHERE CAST(CONVERT(VARCHAR(10),Time,101) AS DATETIME) BETWEEN CA

如果我想从表中选择最小值和最大值,我可以使用:

SELECT CVC.CurrencyVSCurrencyId,MAX(SP.High) High,MIN(SP.Low) Low,CVC.Title FROM YearHighLow  SP  
 INNER JOIN CurrencyVSCurrency CVC ON SP.Currency=CVC.Title  
 WHERE CAST(CONVERT(VARCHAR(10),Time,101) AS DATETIME) BETWEEN CAST(CONVERT(VARCHAR(10),DATEADD(year,-1,GETDATE()),101) AS DATETIME) AND CAST(CONVERT(VARCHAR(10),Time,101) AS DATETIME)  
 GROUP BY  CVC.CurrencyVSCurrencyId,CVC.Title  
执行此查询时,CPU使用率达到100%。 YearHighLow表仅包含13行,CurrencyVSCurrency表仅包含153行


我如何用最少的查询来解决这个问题?

很高兴您的CPU有事情要做。查询运行多长时间?当我在sql server中手动执行查询时,需要0.1毫秒,但当我从探查器查看时,则Duration=“1235253”。然后问题似乎不是查询,而是您在ASP.NET中执行查询的方式。显示一些代码。执行使用sqlDataadapter获取数据表的过程。是的,显示该代码。在IIS上或在您的开发环境中需要这么长时间吗?