Síntomas
Cuando consulta una vista en Microsoft SQL Server 2014 o 2016, puede tardar mucho más tiempo en completarse si lo compara con la ejecución de SQL Server 2008 R2.
Si ejecuta una consulta que usa UNION ALL y un objetivo de fila (como la cláusula N superior, o predicado FAST N o EXISTs), es posible que observe que la consulta se ejecuta más lentamente en SQL Server 2014 o versiones posteriores si la compara con SQL Server 2008 R2.
Causa
En SQL Server 2008 R2, el optimizador de consultas cambia el orden de las distintas partes en UNION ALL si un objetivo de fila está presente, de modo que la parte más barata vaya primero. Esto permite que la consulta termine de ejecutarse antes si las partes más económicas producen un número de filas requerido, sin continuar ejecutando partes más caras. Esta reordenación no se produce en versiones posteriores de SQL Server.
Resolución
Este problema se ha corregido en la siguiente actualización acumulativa de SQL Server:
Actualización acumulativa 7 para SQL Server 2016 RTM
Actualización acumulativa 4 para SQL Server 2016 SP1
Actualización acumulativa 6 para SQL Server 2014 SP2
Nota El optimizador de consultas debe estar habilitado para este problema.
Para obtener más información sobre el optimizador de consultas y las marcas de seguimiento, consulte los vínculos siguientes:
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtenga más información sobre la terminologíaque Microsoft usa para describir las actualizaciones de software.