Não use Select *  

 

SELECT * FROM Tabela WHERE ...

Tecnicamente não há nada de errado com a sintaxe acima, porém o uso desta consome recursos preciosos de sua aplicação.
Quando você faz um SELECT * em uma tabela de seu banco de dados, este banco espera o retorno de todos os campos existentes na tabela. O problema é que raramente é necessário executar uma consulta em todos os campos de uma tabela, gerando dados desnecessários e ocasionando a queda de performance no banco de dados. Isto ocorre principalmente se sua aplicação e seu banco de dados estão em servidores diferentes, pois os dados desnecessários são transferidos em toda a rede.
Geralmente, muitos dizem que em uma tabela com pouco registros e poucos campos não há com o que se preocupar, certo? Errado. Veja o exemplo abaixo:
Temos uma tabela chamada "Funcionarios", assumiremos que a mesma contém alguns campos como: id, Nome , sobrenome, setor e telefone. Suponhamos que você queira o retorno de uma listagem completa de todo os dados desta base. Em código, teremos algo parecido com isso:
SELECT * From Funcionarios

Mas na verdade o que realmente se deseja é isso:
SELECT id, Nome, Sobrenome, Setor, Telefone FROM Funcionarios

Verifique que não há diferença entre os dois exemplos, mas se daqui há seis meses, você decide inserir nesta tabela um campo contendo a foto de cada funcionário, você terá que alterar a query em questão. Caso você utilize o exemplo errado, toda vez que você acessar a página que contém este código o servidor estará transferindo todas as imagens contidas em todos os registros mesmo que você só queira o retorno de um registro, transferindo assim dados absolutamente desnecessários.
Sabemos que uma alteração como esta consome alguns segundos, mas esta boa prática poderá reverter estes segundos "perdidos" em ganho de performance.

 

 
Cubo.Net ] Planos ] Suporte ] Revendas ] Servidores ] Contato ] Manual ]


 

©2005Cubo Desenvolvimento de Software S/C Ltda.
 Todos os direitos reservados.
Aviso Legal / Política de Uso