在SQL Server 2014的sys.partitions DMV上查询花费的时间太长

时间:2019-11-19 18:44:05

标签: sql-server performance dmv

尽管在正常情况下,运行以下查询所花费的时间远远少于 1 秒,但现在只需 35 58 秒。

use myOffendingDatabaseName
select count(*) from sys.partitions

我们只是想弄清楚为什么这个系统查询这么慢,因为

更多信息:

  • 使用 SentryOne的计划浏览器(我不隶属)分析执行计划(provided here),我发现虽然有 4253 sys.sysrowsets 操作上的行数实际行数 20094 ,这使我得出了过时的系统视图统计信息;
  • 没有其他进程为CPU或I / O充电;
  • 尽管此查询将返回大约 20.000 的计数 此数据库上的 sys.partitions 系统视图上的其他项 服务器这样一个复杂的数据库只需不到一秒钟的时间;
  • 在名称为SQL Server实例的较简单( <500 个分区)数据库上运行相同的查询,所需的时间少于 1 秒。
  • SQL SERVER 2014 Express (12.0.6024.0);
  • Windows Server 2016 ,具有16 GB内存(尽管SQL Server Express版本限制为4 GB);

您能提供一些线索吗?

0 个答案:

没有答案