Пониженная производительность вставки в SQL Server 2017 по сравнению с 2008 R2 - PullRequest
0 голосов
/ 26 января 2019

У меня есть 2 идентичные виртуальные машины: первая с SQL Server 2008 R2 Enterprise, а вторая с SQL Server 2017 Developer;Все конфигурации и параметры на обеих машинах одинаковы.

INSERT в SQL Server 2008 R2 более чем в два раза быстрее, чем в SQL Server 2017. В чем может быть проблема?

USE tempdb;
GO 

BEGIN TRAN
CREATE TABLE #T(I INT IDENTITY(1,1) NOT NULL, J INT NOT NULL);

INSERT INTO #T(J) VALUES(0);

DECLARE @I INT = 10; 

WHILE @I > 0
BEGIN
    SET @I -= 1

    INSERT INTO #T
        SELECT J FROM #T;
END 

EXEC sp_spaceused 'tempdb..#t';
COMMIT TRAN;
GO

DROP TABLE #T;

1 Ответ

0 голосов
/ 01 февраля 2019

Попробуйте установить Target Recover Time (Seconds) на 0 или более высокое значение.Это предотвратит косвенные контрольные точки, на которых рабочий поток должен ждать.Значение по умолчанию изменилось с 0 на 60 в период между SQL Server 2014 и 2016.

...