如何知道我的数据库中最常用的程序?

时间:2013-03-31 18:51:39

标签: sql-server

我完成了我的项目,使用了很多程序,现在我找到了最常用的程序和平均执行时间。

通过这种方式,我知道我需要先调整哪些程序?

有没有办法获取特定数据库的过程执行历史记录?

5 个答案:

答案 0 :(得分:5)

我相信您可以使用sys.dm_exec_query_stats动态管理视图。此视图中有两列名为execution_count,total_worker_time可以帮助您。

execution_count给出自上次重新编译以来存储过程执行的总次数。

total_worker_time给出自上次重新编译以来执行此存储过程所花费的总CPU时间(以毫秒为单位)。

这是一个MSDN链接: http://msdn.microsoft.com/en-us/library/ms189741.aspx

答案 1 :(得分:1)

您可以使用dm_exec_cached_plans查找已编译到查询计划中的存储过程。函数dm_exec_query_plan可用于检索计划的object id,而计划又可以转换为程序的名称:

select  object_name(qp.objectid)
,       cp.usecounts
from    sys.dm_exec_cached_plans cp
cross apply
        sys.dm_exec_query_plan(cp.plan_handle) qp
where   cp.objtype = 'Proc'
order by
        cp.usecounts desc

答案 2 :(得分:0)

答案 3 :(得分:-1)

我想你想检查一下SQL Server Profiler。 您也可以在MSDN和其他地方查看详细信息。

但是,在生产服务器中使用它之前,您需要记住:  Profiler adds too much overhead to production server。因此,首先检查您的网站点击次数是否较少,然后继续。

答案 4 :(得分:-1)

这是SQL Server Profiler的用途。有了它,您可以跟踪查询运行次数,执行时间等。