quarta-feira, 28 de março de 2018

Qual instrução é melhor para o desempenho - SELECT ou SET? SQL Server

Pergunta:  Qual instrução é melhor para o desempenho - SELECT ou SET?
Lembre-se de que o  SELECT  foi projetado para retornar dados, enquanto o  SET  foi projetado para atribuir valores a variáveis ​​locais.





Então ao comparar seu desempenho na instrução SELECT de loop, obtém-se melhor desempenho do que SET. Em outras palavras, SET é mais lento que SELECT. O motivo é que cada instrução SET é executada individualmente e atualiza os valores por execução, enquanto a instrução SELECT inteira é executada uma vez e atualiza todos os três valores em uma execução.
SET é o padrão ANSI para atribuição de variáveis, SELECT não é. SET só pode atribuir uma variável de cada vez, SELECT pode fazer várias atribuições de uma vez - o que dá a SELECT uma pequena vantagem de velocidade em relação a SET. Se atribuir a partir de uma consulta, SET só pode atribuir um valor escalar. Se a consulta retornar vários valores / linhas, SET gerará um erro. SELECT atribuirá um dos valores à variável e ocultará o fato de que vários valores foram retornados. Ao atribuir a partir de uma consulta, se não houver nenhum valor retornado, SET atribuirá NULL, onde SELECT não fará a atribuição mantendo a variável inalterada.
Referências Pinal Dave blog.sqlauthority.com
Estas e outras dicas aqui no blog acompanhe.
Grande abraços

Nenhum comentário:

Postar um comentário