Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Expandir
titlePrática nº7

Order by é caro no sql. 

O uso desse recurso precisa ser bem avaliado, precisa pensar se a tela a qual o conteúdo da tabela vai ser apresentada tem recursos de ordenação, caso consiga é melhor buscar toda tabela sem organizar e fazê-lo pela aplicação. O uso do ‘order by’ é bem válido quando temos uma tabela muito grande e precisamos pegar somente alguns registros ordenados, por exemplo o uso da cláusula TOP N com o complemento do ‘order by’. Em outras palavras, não vale a pena buscar milhões de registros do banco sendo que preciso buscar os 3 primeiros com valor maior ou menor:

SELECT TOP 3 VALOR, CHAPA  FROM PFFINANC ORDER BY VALOR DESC

Dicas importantes: 

    • Tente não usar função agregada no order by, por exemplo

            ORDER BY  CAST(COLUNA AS VARCHAR(10)) DESC

    • Ao fazer um insert com o resultado de um select, nunca use o order by nesse select:

INSERT INTO TABELA1    

    SELECT  COLUNA1, COLUNA2 FROM TABELA2 ORDER BY COLUNA1  DESC

Expandir
titlePrática nº8

De preferência em usar JOIN no lugar de UNION. Vamos entender as diferenças entre estas cláusulas para conseguir aplicá-las sem perder a performance e objetivo da consulta:

No caso do ‘Union’, serve principalmente para unificar linhas entre duas tabelas que possuem mesmas colunas e unificar as linhas que são idênticas entre ambas. Veja que o objetivo foi atingido listando todas as linhas das tabelas eliminando as repetições:


Image Modified

No caso do ‘Join’, estamos falando de junções horizontais as quais podemos mesclar informações de ambas tabelas. Nesta cláusula usamos o conceito de conjuntos (união, intersecção e diferença), precisamos que ao menos uma coluna seja equivalente em ambas tabelas para gerar nossa expressão. 

Image Modified



Expandir
titlePrática nº9

Não use  Distinct, tente utilizar Group By no lugar. Sabemos que cada um tem seu propósito e dependendo da situação não poderemos substituir um pelo outro. Contudo se houver oportunidade de fazê-lo, tente aplicar, como por exemplo:

Image Modified

Obs.: Sempre analise o ‘plano de execução’ entre as duas abordagens, optando em adotar o item que gerou menor custo.













  • Análise o plano de execução estimado da consulta;

...