如果我的proc被调用,我在中有下面的记录。
CPU - 78,读- 3508,写- 0,持续时间- 81
以上数据可以在我的网站上为70人并发点击,我的proc在用户访问的每一个页面上都被调用,我服务器上的性能监视器显示当我启用我的SQL proc调用时,anonmyous用户点击量不断增加。
请建议我可以在哪里查看!,我的proc查询如下:
ALTER PROCEDURE [dbo].[GETDataFromLinkInfo]
-- Add the parameters for the stored procedure here
(@PageID INT)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT DISTINCT [PUBLICATION_ID] AS n,
[URL] AS u
FROM [LINK_INFO] WITH(NOLOCK)
WHERE Page_ID = @PageID
AND Component_Template_Priority > 0
AND PUBLICATION_ID NOT IN( 232, 481 )
ORDER BY URL
FOR XML RAW ('p'), ROOT ('ps');
RETURN
END 发布于 2012-04-29 11:22:40
执行proc 1000次,并测量它花了多长时间。这是判断性能(所用时间)的最重要指标。不要测量读写。
关于我的建议,不要看读/写:但是,读可以是缓存的,也可以是非缓存的,这是一个巨大的区别。我总是查看执行计划,以了解为什么查询是这样的,以及如何处理。读/写度量标准既不告诉您是否需要操作,也不告诉您要做什么。
发布于 2012-04-29 17:12:36
正如菲尔所建议的,使用数据库引擎优化顾问分析查询可能是最好的选择。你必须提供更多的信息才能得到准确的答案--人们可能会建议一个或多个索引,但是索引的有效性取决于它中列的选择性。添加一个无用的索引实际上会在其他方面对性能产生负面影响。
https://stackoverflow.com/questions/10371628
复制相似问题