Recentemente, atualizamos nosso servidor do SQL Server 2008R2 para o SQL Server 2014. Temos uma consulta que foi bem executada no 2008R2, mas agora em 2014 é incrivelmente mais lenta e com um plano de execução ruim.
Eu fiz vários testes ...
- Alterne o banco de dados 2014 de volta ao modo de compatibilidade 2008/2012.
- Teste a consulta usando Paginação.
Os dois resultaram na consulta da mesma forma e com rapidez do SQL Server 2008R2.
Por que o plano é tão ruim e a consulta é executada por tanto tempo no SQL Server 2014?
Esta imagem mostra 2 consultas, uma usando número de propriedade como foi executada no 2008R2 e a segunda é a correção com paginação. Ambos foram executados em 2014, ambos muito diferentes, mas em 2008 vemos o mesmo desempenho como se usássemos paginação em 2014.