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 um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s