J'ai deux instances SQL Server sur le même serveur:
les résultats SP_Configure sont les mêmes sur les deux cas (à l'exception des nouvelles options de 2016).
J'ai créé de nouvelles bases de données sur les deux instances sur le même dossier de disque. Les paramètres d'autogrotthe sont les mêmes.
Les options de statistiques de l'autocréate et de l'AutoUPDate sont désactivées.
Ensuite, j'ai effectué un test avec 10000 inserts dans un tas:
set nocount on
go
create table dbo.TestInsert ( i int not null, s varchar(50) not null )
declare @d1 datetime, @d2 datetime, @i int
set @d1 = getdate()
set @i = 1
while @i <= 10000
begin
insert into dbo.TestInsert ( i, s ) select @i, replicate( 'a', 50 )
set @i = @i + 1
end
set @d2 = getdate()
select datediff(ms, @d1, @d2)
drop table dbo.TestInsert
Résultat 1
Le temps de test moyen
Donc, 2016 est d'environ 11% plus lentement.
Résultat 2
L'histogramme d'A Durée d'insertion unique 2012 vs 2016:
La croissance des journaux de transaction à partir de sys.dm_io_virtual_file_stats est:
Pendant ces tests, les deux cas sont lancés. Mais un test ne fonctionne qu'à chaque fois. J'ai alloué 8GB RAM par exemple. Les plans de requête sont les mêmes. Il serait intéressant de courir chaque instance sur sa propre boîte. Mais probablement, la seule machine est meilleure, car nous n'avons probablement pas matériels et environnements de différences cachés.
Questions
Évidemment, il est très difficile la coïncidence d'avoir exactement les mêmes versions dans le même serveur, mais ... J'espère que mes résultats vous aideront. J'ai deux machines différentes configurées à la fois standard Windows Server 2012 R2. Malheureusement, ils n'ont pas le même matériel mais semblable:
Machine 1 (SQL Server 2016)
Machine 2 (SQL Server 2012)
Et je cours 5 fois dans les deux machines, le même script que vous avez fourni et obtenu la moyenne suivante:
Quels sont presque les résultats opposés que vous obtenez. Quoi qu'il en soit, comme vous l'avez vu, ma machine 2012 a un meilleur processeur, mais le disque dur qui est normalement ce qui montre la différence est la même. Donc, même si 2012 a de meilleures ressources, c'est un peu plus lent pour mon cas.
(Désolé, s'il vous plaît, vérifiez à nouveau, ma première version avait des erratums importants)