Jump to content


Photo

Performance


  • Faça o login para participar
1 reply to this topic

#1 Rodrigo B

Rodrigo B

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 31/08/2009, 15:55

Pessoal!!

seguinte, gostaria de saber de vocês quais as suas práticas para garantir a melhor performance nas suas consultas ao banco de dados?
"SELECT..."


Estava lendo uns artigos sobre "aumento de performance".. porém há algumas informações que acabam se contradizendo.. por exemplo; o uso do operador IN()

Enquanto um artigo diz que o uso do operador IN() aumenta a performance durante uma "Instrução SQL"; outro artigO diz pra evitar porque causa uma queda de performance do banco de dados; :wacko:

Gostaria de saber de vocês, como estão usando suas "Instruções SQL" durante uma consulta a base de dados?


Obrigado pela atenção. Desde já agradeçO!!!
teh mais.

#2 nvivo

nvivo
  • Visitantes

Posted 31/08/2009, 16:31

B)-->
QUOTE(Rodrigo B @ 31/08/2009, 15:55) View Post
seguinte, gostaria de saber de vocês quais as suas práticas para garantir a melhor performance nas suas consultas ao banco de dados?
"SELECT..."

Estava lendo uns artigos sobre "aumento de performance".. porém há algumas informações que acabam se contradizendo.. por exemplo; o uso do operador IN()

Enquanto um artigo diz que o uso do operador IN() aumenta a performance durante uma "Instrução SQL"; outro artigO diz pra evitar porque causa uma queda de performance do banco de dados; :wacko:

Gostaria de saber de vocês, como estão usando suas "Instruções SQL" durante uma consulta a base de dados?[/quote]

Rodrigo,

Na questão do IN, realmente não vejo diferença. Um (Campo = 1 or Campo = 2 or Campo = 3) ou um Campo in (1, 2, 3) muitas vezes vai ser executado da mesma forma, já que o query planner vai reescrever seu select pra facilitar o trabalho dele. E no fundo, um IN nada mais é que um atalho para o código anterior (a não ser é claro que seja uma subquery, ai muda um pouco).

Agora, acho dificil que isso seja motivo tão grande de debate sobre performance. Existem outras coisas muito mais importantes pra se otimizar. E é complicado dizer o que aumenta performance sem entender qual seu problema.

Se tudo o que você quer são dicas genéricas, elas variam dependendo do tipo de banco de dados que você tem. Mesmo usando SQL server, aplicações diferentes tem esquemas diferentes de otimização. Mas no geral:

1. Crie o banco de dados corretamente (e por isso eu digo, normalize, use foreign keys onde for necessário, etc. foreign keys sao automaticamente indexadas, o que ajuda nos joins)
2. Utilize indices (mas com moderação, entenda os seus selects e quando os indices são usados)
3. Aprenda a visualizar o plano de execuçao, e entender o que ele está fazendo. Fazer isso te ajuda a criar indices nos lugares certos.

É isso que você esperava?

Qualquer coisa estamos aí.

[]'s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq