Performances de SQL Server 2012 contre SQL Server 2008 R2

9

Quelqu'un a-t-il des liens vers l'analyse comparative des performances du moteur de base de données ou des rapports anecdotiques sur les améliorations des performances dans SQL Server 2012. Nous utilisons uniquement le moteur de base de données, pas les services de rapports ou BI. Avez-vous des conseils / astuces d'un point de vue de mise à niveau?

Matt Evans
la source
2
Je ne sais pas s'il y a beaucoup (ou du moins beaucoup enregistré) sur les avantages de mise à niveau vers SQL Server 2012 en termes de performances, mais il y a toute une liste de fonctionnalités. S'il existe des avantages de performances connus avec SQL Server 2012, @AaronBertrand le saura probablement.
Thomas Stringer
Cet article décrit une comparaison de 2005 à 2008, exécutant le même code sur le même matériel dans les deux cas. En résumé, la différence était minime. databasejournal.com/features/mssql/article.php/3792476/… Il ne semble pas que quelqu'un ait répété l'expérience pour 2008 vs 2012 ...

Réponses:

12

Il existe des améliorations de performances sous-jacentes dans le flux de fichiers et la recherche en texte intégral. Je n'ai pas les détails à portée de main. Je suis également sûr qu'il existe d'autres améliorations sous-jacentes qui ne sont pas publiées, ainsi que des correctifs de 2008 / R2 qui en ont fait des service packs et des mises à jour cumulatives sur les plates-formes qui ont été portées vers SQL Server 2012. Ce serait un peu plus calme car pendant que 2012 était en développement, il n'y avait pas besoin d'un article KB public pour chaque changement.

Certaines des nouvelles fonctionnalités de fenêtrage rendront les calculs comme les totaux en cours d'exécution bien meilleurs. Et OFFSET peut être utilisé pour faire jouer à l'enfant des choses comme le calcul d'une médiane. FORCESEEK vous permet également de spécifier réellement l'index que vous souhaitez utiliser, au lieu de prendre ce que SQL Server pensait que vous vouliez dire. Mais cela nécessite des changements de code.

Il y aura également des performances plus prévisibles en ce qui concerne l'utilisation de la mémoire - le gestionnaire de mémoire gère désormais plus que les allocations d'une seule page, donc "Max server memory" a une signification beaucoup plus précise que dans les versions précédentes. Les paramètres de mémoire du gouverneur de ressources en profitent également et peuvent également être utilisés pour l'affinité planificateur / NUMA.

Le dépannage des performances est également beaucoup plus simple. Par exemple, il y a beaucoup plus d'informations incluses dans les plans d'exécution, et les événements étendus ont une parité presque complète avec la trace (et ajoutent un suivi de causalité beaucoup plus puissant).

J'ai été surpris qu'ils n'aient pas publié de trucs TPC bien avant la date de sortie (pas que ces tests représentent vraiment des trucs du monde réel, mais c'est amusant de regarder les arguments "mon père peut battre ton père, au moins aujourd'hui") se déroulent entre les vendeurs). Glenn Berry a blogué sur l'un des résultats TPC-E de SQL Server 2012 . Je m'excuse, mais je n'ai pas le temps d'examiner s'il existe un moyen facile de comparer ces pommes à des pommes par rapport à des références similaires en utilisant 2008 ou 2008 R2. Le problème avec les benchmarks anciens est qu'ils ne sont jamais sur le même matériel, donc bien que les nouveaux benchmarks soient toujours plus rapides (sinon ils ne seront pas publiés), il est impossible de dire dans quelle mesure l'amélioration était basée sur le matériel et combien sur le logiciel.

Le mieux est d'installer SQL Server 2012, de restaurer une copie de votre base de données, de mettre à jour le niveau de compatibilité, de mettre à jour les statistiques et d'exécuter votre worklaod sur votre matériel en utilisant vos données.

Aaron Bertrand
la source