SQL Server性能问题 - 等待统计信息?

时间:2017-02-01 16:28:09

标签: sql-server performance

我的笔记本电脑是HP Studio G3,配备16 GB RAM和Xeon E3-1505 v5 CPU以及512 GB NVMe Samsung SSD,因此它应该是一台非常快的机器。

就在最近,我被要求查看应用程序的性能,并将数据库和应用程序正式复制到我的笔记本电脑(Windows 10上的SQL Server 2016 Developer Edition)进行测试。

想象一下,当我发现它在我的机器上运行比其他任何人都慢时,我感到惊讶。为了验证我的机器性能低下,我创建了一个简单的查询,它会插入大量的行,当然,在我的机器上运行它与办公室中其他速度较慢的机器一样,我的机器是最慢的(大约50秒),它如果行数增加会变得更糟。

这是我的(粗略的)粗略查询:

CREATE TABLE [PerfExample]
(
    [ExampleId] [INT] NOT NULL IDENTITY(1, 1),
    [Name] [NVARCHAR](MAX),
    [Content] [NTEXT]
)

ALTER TABLE [PerfExample] 
    ADD CONSTRAINT [PK_PerfExample] 
    PRIMARY KEY CLUSTERED  ([ExampleId])

DECLARE @id int 
SELECT @id = 1

WHILE @id >= 1 and @id <= 10000
BEGIN
    INSERT INTO [PerfExample] 
    VALUES ('Test', 'Test')

    SELECT @id = @id + 1
END

SELECT * FROM [PerfExample]

DELETE FROM [PerfExample]

DROP TABLE [PerfExample]

因此,如果我将该循环值设置为小于1000左右,那么它的运行速度非常快,但是高于此值并且它似乎达到了一定程度,此时磁盘使用率达到100%,就好像内存耗尽一样。我注意到WRITELOG等待状态似乎很高。

我已将最大内存设置为适当大的值而没有效果。线程数设置为512。

任何人都可以提出问题的原因吗?

0 个答案:

没有答案