En SQL Server puede especificar las sugerencias de combinación:
- HASH JOIN
- Unirse a Merge
- LOOP JOIN
¿Cuál es la definición de esas tres sugerencias de combinación y cuándo se debe usar cada una?
fuente
En SQL Server puede especificar las sugerencias de combinación:
¿Cuál es la definición de esas tres sugerencias de combinación y cuándo se debe usar cada una?
Desde MSDN, en el tema de Conceptos avanzados de ajuste de consultas :
SQL Server emplea tres tipos de operaciones de combinación:
Bucles anidados se une
La fusión se une
Hash se une
Si una entrada de unión es pequeña (menos de 10 filas) y la otra entrada de unión es bastante grande e indexada en sus columnas de unión, una unión de bucles anidados de índice es la operación de unión más rápida porque requieren la menor E / S y la menor cantidad de comparaciones. Para obtener más información sobre los bucles anidados, consulte Descripción de las uniones de bucles anidados.
Si las dos entradas de unión no son pequeñas pero están ordenadas en su columna de unión (por ejemplo, si se obtuvieron escaneando índices ordenados), una combinación de fusión es la operación de unión más rápida. Si ambas entradas de unión son grandes y las dos entradas son de tamaños similares, una combinación de fusión con clasificación previa y una combinación hash ofrecen un rendimiento similar. Sin embargo, las operaciones de unión hash suelen ser mucho más rápidas si los dos tamaños de entrada difieren significativamente entre sí. Para obtener más información, vea Comprender las combinaciones de fusión.
Las uniones de hash pueden procesar eficientemente entradas grandes, sin clasificar, no indexadas.
Pero creo que debería comenzar con un tema más básico: Ajuste de consultas y, por último, ir a usar las sugerencias de consulta.