Artigo SQL Magazine 38 - Mão na Massa
Artigo da Revista SQL Magazine - Edição 38.
Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Mão na Massa
Situações do cotidiano de seu banco de dados
Este espaço é seu, leitor da SQL Magazine. Através desta seção, você pode tirar suas dúvidas referentes às suas atividades cotidianas e nossos especialistas terão prazer em ajudar.
Desta vez, Rodrigo Righetti responde a duas perguntas enviadas pelos leitores e também colaborei com a seção respondendo uma terceira pergunta.
Envie suas questões para webeditor@sqlmagazine.com.br.
Ricardo Rezende
Editor Técnico
Você perguntou!
Olá à SQL Magazine.
Considerando performance, o que é melhor: joins ou subqueries?
Poderia me explicar com um exemplo?
Aproveitando, qual a diferença entre nested loops e hash joins e como determinar qual deles usar para obter uma melhor performance? Um exemplo ajudaria bastante.
Muito obrigado e parabéns pela excelente publicação.
Regiane Almeida Cardoso
E nós respondemos!
Olá Regiane,
Em relação à primeira pergunta, é muito relativo mas, no “geral”, sempre que for possível evitar uma subquery fazendo a junção direta, a performance tende a ser muito melhor.
Em relação aos métodos de junção, existem algumas regras básicas que funcionam na maioria dos casos:
Nested Loops: É ideal se você pretende retornar poucas linhas, ou se é mais importante o retorno das linhas ao invés de processar tudo de uma vez e depois enviar o resultado. Para que ele funcione de forma ideal, a “driven table”, ou tabela controladora, deve ser bem restritiva e o acesso às tabelas internas deve ser feito por índices com boa seletividade.
Esse é o método ideal, via de regra, para telas de consulta, onde o usuário quer receber poucos dados rapidamente. Agora, se não existirem índices com boa seletividade ou não existirem índices, esse método de junção se torna muito custoso.
" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo