Join Hints

Os hints de joins são utilizados para forçar uma otimização entre tabelas, de maneira geral o Query Optimizer seleciona o melhor plano de execução, contudo algumas vezes necessitamos de alguns artefatos específicos para tratar algum caso especial.

O SQL Server nos dá três tipos de hints para joins, são eles:

· Merge: O merge join é muito rápido quando utilizado entre colunas ordenadas, isso porque esse operador força o optimizer a comparar as tuplas em ordem da coluna “C1” para a coluna “C2”.

· Loop: O nested loop é um laço interno que é executado a cada tupla externa, procurando linhas correspondentes na tabela interna.

· Hash: muito utilizado em datawarehouses, esse join hint trabalha bem com grande quantidade de dados, uma vez que o processamento inicia com a carga dos dados na memória. O funcionamento do Hash join é similar ao merge, porém sem a necessidade de índice ou ordenação.

Abaixo segue alguns links para mais informações sobre o assunto.

http://msdn.microsoft.com/en-us/library/ms173815(v=SQL.105).aspx

http://www.mssqlcity.com/Articles/General/MergeJoins.htm

Abraço, Rodrigo

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.