Nous avons récemment mis à niveau notre serveur de SQL Server 2008R2 vers SQL Server 2014. Nous avons une requête qui a bien fonctionné en 2008R2, mais qui fonctionne maintenant beaucoup plus lentement en 2014 et a un mauvais plan d'exécution.
J'ai fait plusieurs tests ...
- Remettez la base de données 2014 en mode de compatibilité 2008/2012.
- Testez la requête à l'aide de la pagination.
Dans les deux cas, la requête a été exécutée de la même manière et plus rapide que SQL Server 2008R2.
Pourquoi le plan est-il si mauvais et la requête exécutée si longtemps dans SQL Server 2014?
Cette image montre 2 requêtes, l'une utilisant le numéro de référence comme elle a fonctionné dans 2008R2, puis la seconde est le correctif avec pagination. Les deux ont fonctionné en 2014, tous deux très différents, mais en 2008, nous constatons les mêmes performances que si nous avions utilisé la pagination en 2014.