Dicas de otimização de consultas

Ola pessoal estou aqui escrevendo a minha primeira coluna no site oficina da net sobre SQL Server, e na mesma falarei sobre recuperação de dados de forma otimizada. Vamos ao que interessa.

Por | @oficinadanet Programação
Quando vamos fazer uma simples consulta temos a mania de fazer a consulta com o símbolo de asterisco (*) isso e uma forma incorreta de se fazer uma consulta, pois quando se usa o símbolo “*” o SQL ignora todos os índices de uma tabela isso faz com que o bookmark trabalhe desnecessariamente (isso será explicado em uma próxima coluna). Quando for realizar  uma consulta especifique todos os campos da tabela mesmo que sejam muitos para que o sql utilize o otimizador de consultas. Quando se tem uma tabela com poucos registros isso não implica muito, mas quando se tem uma banco com um tamanho em GB a situação muda de figura.
Ex:
SELECT
ProductID, ProductName, SupplierID, CategoryID,
QuantityPerUnit,UnitPrice, UnitsInStock,
UnitsOnOrder, ReorderLevel, Discontinued
FROM products
A consulta acima traz todas as colunas da tabela produtos do banco de dados northwind, veja que a consulta foi especificada se usar o símbolo “*”.

Usando operadores de comparação

Quando se for usar operadores de comparação, evite usar NOT em condições de pesquisa. Eles podem diminuir a velocidade de recuperação de dados porque todos os registros em uma tabela são avaliados. Sempre use condições de pesquisa positivas ao invés de negativas. As condições de pesquisa negativas atrasam as consultas como NOT BETWEEN, NOT IN e IS NOT NULL
Ex:
SELECT
ProductId, ProductName, QuantityPerUnit, UnitPrice
FROM products
WHERE NOT ProductID  = 1

A consulta acima retorna as colunas ProductId, ProductName, QuantityPerUnit, UnitPrice exceto o registro com o ID = 1, como é mostrado abaixo.


Dicas de otimização de consultas

Ordenando Registros
Use a cláusula ORDER BY para classificar os registros em um conjunto de resultados, lembre-se que as colunas incluídas na cláusula ORDER BY não precisam constar na lista de seleção.
Ex:
SELECT productid, productname, categoryid, unitprice
FROM products
ORDER BY categoryid, unitprice DESC

A consulta acima retorna algumas colunas da tabela PRODUCTS do banco de dados NORTHWIND ordenados por categoria e preço unitário.

Dicas de otimização de consultas


A recuperação de dados pode ser mais lenta se você usar a cláusula ORDER BY porque o SQL Server precisará determinar e classificar o conjunto de resultados antes de retornar o primeiro registro.

Pessoal na próxima coluna, prepararei um super assunto de SQL e até a próxima

Mais sobre:
Share Tweet
DESTAQUESRecomendadoMais compartilhados
Comentários
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar