Array
(
)

Qual comando é mais rápido?

Cristiam
   - 16 mar 2005

Senhores, eu tenho dois selects que fazem a mesma função. Porém me surgiu uma dúvida, qual dos dois tem uma melhor performance?

Eis os selects:
#Código


select usuario.NomeProp, Condominio.NomeCond, Fc.*, CONVERT(char, DtVencFC, 103) AS Vencimento
from FC, usuario, condominio
where Fc.CodProp = usuario.CodProp
and condominio.CodCond = FC.CodCond


#Código

select usuario.NomeProp, Condominio.NomeCond, Fc.*, CONVERT(char, DtVencFC, 103) AS Vencimento
from FC
inner join usuario on Fc.CodProp = usuario.CodProp
inner join condominio on condominio.CodCond = FC.CodCond



Eduardo.padilha
   - 24 mar 2005

Teste no Query Analyzer, com a opcao ´Show Execution Plan´,
daí vc verá qual o caminho q esta fazendo para a busca .


Cristiam
   - 24 mar 2005

Ok... Fiz isso e o resultado que obtive foi: Iguais... Ambos fizeram o mesmo procedimento. :)


Raserafim
   - 25 mar 2005

uma certa vez construi uma consulta, bem grande por sinal e com vários relacionamentos. fiz os relacionamentos todos na clausura where e coloquei o programa pra rodar, utilizei assim por um tempo, mas não estava gostando do desempenho. resolvi transformar tudo utilizando os joins. Melhorou muito a performance, e isso visivelmente sem utilizar nenhum programa para teste de deesempenho.
Então pela prática lhe aconselho a utilizar com os joins, o que na minha opinião deixa um código bem mais fácil de ler e de trabalhar.


Cristiam
   - 28 mar 2005

Obrigado Raserafim, estava tentando descobrir qual o mais rápido mesmo para poder utilizar... :)
Vou modificar alguns códigos e colocar com inner Join, valeu. :wink:


Fer_nanda
   - 04 abr 2005

Analisar o tempo de execução de instruções SQL é muito importante.
Veja esse artigo http://www.imasters.com.br/imprimir.php?cn=2846&cc=86