quarta-feira, 15 de abril de 2009

Ganhe performance, selecionando apenas as colunas desejadas

No artigo anterior, vimos como selecionar todos os registros da tabela Customers, do banco de dados de exemplo Northwind.


Utilizamos o identificador "*", que nos permite selecionar todas colunas da tabela, porém nem sempre precisamos de todas as colunas de uma tabela ao acessar dados. Na verdade, na maioria das vezes, precisamos apenas de algumas colunas. Trazer apenas as colunas necessárias, acrescenta performance as suas consultas.

Por exemplo, para um relatório com nome e sobrenome de todos os empregados que estão na tabela "Employees", podemos utilizar os seguintes comandos:

select 
  FirstName,
  LastName 
from 
  employees

Utilizando o que aprendemos no post anterior, podemos ordenar os registros pelo nome dos empregados com o comando order by:

select 
  FirstName,
  LastName 
from 
  employees
order by FirstName

ou

select 
  FirstName,
  LastName 
from 
  employees
order by 1

Vamos um pouco mais longe. Se precisamos ordenar os campos FirstName de maneira ascendente e LastName de maneira descendente, podemos utilizar os comando ASC e DESC. 

select 
  FirstName,
  LastName 
from 
  employees
order by 1 asc, 2 desc

Lembrando que o Sql Server, por padrão, implementa as ordenações do comando order by  de maneira ascendente, portanto, o script:

select 
  FirstName,
  LastName 
from 
  employees
order by 1, 2 desc

Tem o mesmo resultado do script anterior.


Nenhum comentário:

Postar um comentário

Leave your comment here!