Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel-Lopes

Qual usa mais recurso do banco: UNION, IF, INNER JOIN

Recommended Posts

Pessoal estou na duvida para saber como deixar a query mais rápida e ágil sem comprometer o banco de dados em caso de muitos acessos simultaneísmos.

Qual usa mais recurso do banco: UNION (unindo 3 consultas), IF, INNER JOIN ?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente todas utilizam recursos do servidor.

 

O que você pode fazer é "chamar" somente o necessário, como por exemplo evitar utilizar o " * " em consultas, quando você só precisa do resultado de 3 campos em uma tabela que possui 30. declare sempre o nome dos campos, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também pode colocar um EXPLAIN antes do Select para verificar o plano de execução pois dependendo da consulta um ou outro é mais ágil, depende muito do caso.

 

EXPLAIN SELECT * FROM empresas INNER JOIN..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato. Aqui pelo fórum de MySQL eu dei vários exemplos do explain, só não me lembro onde mais :skull:

 

Veja a sintaxe: :seta: http://dev.mysql.com/doc/refman/5.0/en/explain.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leve também em conta que

 

 

UNION (unindo 3 consultas), IF, INNER JOIN

 

fazem coisas diferentes, logo não são substitutos imediatos um do outro.

 

Joins em determinadas condições podem melhorar o uso de um subselect (exists etc).

 

Unions em geral não tem um substituto imediato.

 

Quanto ao IF não sei se o CASE é melhor ou pior

 

Mas SEMPRE é bom fazer o EXPLAIN de uma query antes de por em produção e manter as estatíscas do BD atualizadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.