Síntomas
Cuando ejecuta una consulta que tiene una combinación de tabla para tablas de almacén de columnas agrupadas y las cláusulas JOIN ON y WHERE hacen referencia a las mismas columnas, es posible que SQL Server no evalúe una combinación hash para la unión de tabla.
Causa
Este problema se produce porque las claves de combinación se quitan del árbol de consultas durante la normalización de consultas. Por diseño, SQL Server no genera un plan de combinación hash para combinaciones sin claves de combinación.
Resolución
Información sobre la actualización acumulativa
Esta mejora se introdujo en la siguiente actualización acumulativa de SQL Server.
- Actualización acumulativa 1 para SQL Server 2016
- Actualización acumulativa 13 para SQL Server 2014
- Actualización acumulativa 7 para SQL Server 2014 SP1
Recomendación: instalar la actualización acumulativa más reciente para SQL Server
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Se recomienda descargar e instalar las actualizaciones acumulativas más recientes para SQL Server:
- Actualización acumulativa más reciente para SQL Server 2014 (SP1)
- Actualización acumulativa más reciente para SQL Server 2016
Solución alternativa
Para solucionar este problema, agregue la sugerencia OPTION (HASH JOIN) a la consulta.
Más información
Esta actualización acumulativa introduce que SQL Server evalúa un plan de combinación HASH cuando se realiza una combinación de tablas para tablas de almacén de columnas. Las consultas que tienen acceso a las tablas de almacén de columnas pueden beneficiarse de la combinación de hash, ya que la combinación de hash se puede realizar en modo por lotes.
Para habilitar la mejora, agregue la marca de seguimiento 2441 a los parámetros de inicio o agregue OPTION (QUERYTRACE, 2441) a la consulta.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".