Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server::安装程序何时优化临时工作负载?_Sql Server_Performance_Tsql_Caching - Fatal编程技术网

Sql server SQL Server::安装程序何时优化临时工作负载?

Sql server SQL Server::安装程序何时优化临时工作负载?,sql-server,performance,tsql,caching,Sql Server,Performance,Tsql,Caching,我读了一篇非常有趣的关于如何为临时工作负载设置优化的文章 该帖子链接到Pinal Dave制作的一个文件,该文件允许您检索AdHoc%: SELECT AdHoc_Plan_MB, Total_Cache_MB, AdHoc_Plan_MB * 100.0 / Total_Cache_MB AS 'AdHoc %' FROM ( SELECT SUM(CASE WHEN objtype = 'adhoc'

我读了一篇非常有趣的关于如何为临时工作负载设置优化的文章

该帖子链接到Pinal Dave制作的一个文件,该文件允许您检索AdHoc%:

SELECT AdHoc_Plan_MB, 
       Total_Cache_MB, 
       AdHoc_Plan_MB * 100.0 / Total_Cache_MB AS 'AdHoc %'
FROM
(
    SELECT SUM(CASE
                   WHEN objtype = 'adhoc'
                   THEN CONVERT(BIGINT, size_in_bytes)
                   ELSE 0
               END) / 1048576.0 AdHoc_Plan_MB, 
           SUM(CONVERT(BIGINT, size_in_bytes)) / 1048576.0 Total_Cache_MB
    FROM sys.dm_exec_cached_plans
) T;
我的临时百分比为61%:

Pinal说,“我个人更喜欢在看到临时百分比在20-30%之间时打开“针对临时工作负载优化”设置。”

那么,如果我有61%,我该怎么办

我应该打开还是关闭它

一、 就个人而言,当我看到临时百分比在20-30%之间时,我更愿意打开“针对临时工作负载优化”设置。“

这还不足以指示是否启用此设置。临时计划只是“通过使用osql或sqlcmd而不是作为远程过程调用,将Transact-SQL作为语言事件提交。” -

重要的不是一个计划是否是临时的,而是该计划是否实际被重用

而是遵循文档中的建议。重要的指标不是临时计划的数量或它们使用的内存,而是一次性计划的数量:

SELECT objtype, cacheobjtype, 
  AVG(usecounts) AS Avg_UseCount, 
  SUM(refcounts) AS AllRefObjects, 
  SUM(CAST(size_in_bytes AS bigint))/1024/1024 AS Size_MB
FROM sys.dm_exec_cached_plans
WHERE objtype = 'Adhoc' AND usecounts = 1
GROUP BY objtype, cacheobjtype;