No SQL Server, você pode especificar as dicas de junção:
- HASH JOIN
- MERGE JOIN
- LOOP JOIN
Qual é a definição dessas três dicas de junção e quando cada uma deve ser usada?
No SQL Server, você pode especificar as dicas de junção:
Qual é a definição dessas três dicas de junção e quando cada uma deve ser usada?
Respostas:
No MSDN, no tópico de Conceitos avançados de ajuste de consulta :
O SQL Server emprega três tipos de operações de junção:
Junções aninhadas
Mesclar junções
Associações de hash
Se uma entrada de junção for pequena (menos de 10 linhas) e a outra entrada de junção for bastante grande e indexada em suas colunas de junção, uma junção de loops aninhados ao índice é a operação de junção mais rápida, pois exige o mínimo de E / S e o menor número de comparações. Para obter mais informações sobre loops aninhados, consulte Noções básicas sobre junções de loops aninhados.
Se as duas entradas de junção não forem pequenas, mas estiverem classificadas em sua coluna de junção (por exemplo, se foram obtidas pela varredura de índices classificados), uma junção de mesclagem é a operação de junção mais rápida. Se ambas as entradas de junção forem grandes e as duas entradas tiverem tamanhos semelhantes, uma junção de mesclagem com classificação anterior e uma junção de hash oferecerão desempenho semelhante. No entanto, as operações de junção de hash geralmente são muito mais rápidas se os dois tamanhos de entrada diferem significativamente um do outro. Para obter mais informações, consulte Noções básicas sobre junções de mesclagem.
As junções de hash podem processar com eficiência entradas grandes, não classificadas e não indexadas.
Mas acredito que você deve começar com um tópico mais básico: Ajuste de Consulta e, por último, usar as dicas de consulta.