Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] QUAL É O MAIS PERFORMÁTICO?

Olá, tenho uma dúvida com relação a performance. Conforme o instrutor construiu a query, eu fui montando de outra forma. Gostaria de saber qual é o mais performático ou qual delas tem melhor prática de uso. Segue a minha query:

SELECT 
     TC.CPF
    ,TC.NOME
    ,TC.VOLUME_DE_COMPRA
    ,CONVERT(VARCHAR(7),NF.DATA_VENDA,102) AS MES_ANO_VENDA
    ,SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL
    ,(CASE 
        WHEN SUM(INF.QUANTIDADE) >= TC.VOLUME_DE_COMPRA
        THEN 'LIMITE ULTRAPASSADO'
        ELSE 'DENTRO DO LIMITE' END) AS STATUS_LIMITE
FROM NOTAS_FISCAIS NF
    INNER JOIN ITENS_NOTAS_FISCAIS INF
    ON NF.NUMERO = INF.NUMERO
    INNER JOIN TABELA_DE_CLIENTES TC
    ON NF.CPF = TC.CPF
WHERE
    CONVERT(VARCHAR(7),NF.DATA_VENDA,102) = '2015.01'
GROUP BY 
    TC.CPF
    ,TC.NOME
    ,TC.VOLUME_DE_COMPRA
    ,CONVERT(VARCHAR(7),NF.DATA_VENDA,102)
ORDER BY CONVERT(VARCHAR(7),NF.DATA_VENDA,102)
2 respostas
solução!

Olá Kley, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Em termos de performance, é difícil dizer qual consulta é mais eficiente. A eficiência da consulta pode depender de vários fatores, como a quantidade de dados nas tabelas, os índices existentes e a forma como o otimizador de consultas do banco de dados decide executar a consulta.

Minha sugestão é que você execute ambas as queries em um ambiente de teste, e compare o tempo de execução. Dessa forma, você poderá avaliar qual query é mais performática para o seu cenário específico.

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Monalisa, tudo bem.

Obrigado pelas dicas.