对于具有相同规范的不同服务器上的相同表,UPDATE STATISTICS运行时会有所不同

时间:2018-05-22 06:11:05

标签: sql sql-server sql-server-2012 ssms

我有两个具有相同配置的SQL Server(比如SQL1和SQL2)和一个具有相同结构的表(比如TargetTable)。两台服务器上的索引。两个表都有相同数量的记录(大约10亿)。基本上完全相同的副本表。我有一份工作,每周在相应的服务器上更新该表的统计信息。由于数据很大,我使用了

UPDATE STATISTICS TargetTable WITH SAMPLE 1 PERCENT;

在SQL2服务器中,更新统计信息步骤的运行时间在8分钟到1小时30分钟之间波动,而SQL1服务器上的运行时间相当恒定8分钟。

起初我以为可能是tempdb内存的原因,但事实并非如此。在此步骤中,两个服务器的tempdb都具有相同的可用内存。

出现这种波动的原因是什么?

1 个答案:

答案 0 :(得分:-1)

虽然您已确认两台SQL Server的配置/设置相同,但您的服务器是虚拟服务器而非物理服务器。

这意味着您将受到在底层主机硬件上运行的其他任何事情的摆布,并且可能有许多其他虚拟服务器共享相同的硬件资源。

您的2台服务器可能甚至不在同一台主机上,也可能连接到具有不同功能的不同存储LUN。

注意:如果您尚未配置,请提供一个提示:将主机上的内存预留设置为等于分配给虚拟服务器的内存量(并且还将SQL Server的最大内存设置设置为比可用的最大内存低至少4GB的值。要离开的内存量取决于服务器上运行的其他内容。)

How to Set SQL Server Max Memory for VMware

相关问题