Início > Sem categoria > SELECT WHERE

SELECT WHERE

André Fercondini

Quando utilizar uma cláusula WHERE em uma SELECT, fique atento à alguns detalhes que fazem grande diferença na performance da QUERY.

Evite passar um campo como parâmetro de função. Isso aumenta as chances do SQLSERVER utilizar um índice.

SELECT *
FROM customer
WHERE SUBSTR(customer.tipo,1,11) = ‘3G customer'

/* com certeza nenhum índice será usado, pois customer.tipo é parâmetro de função
SELECT *
FROM customer
WHERE customer.tipo = ‘3G customer'

/* customer.tipo não é parâmetro de função. Existe chance de um índice ser usado */

Use e abuse do LIKE %

SELECT *
FROM customer
WHERE customer.tipo LIKE ‘3G customer%'

/* customer.tipo não é parâmetro de função, mesmo com LIKE existe chance de um índice ser usado */

Lembre-se que existe o LIKE _

 SELECT * FROM customer WHERE customer.tipo LIKE ‘___customer%' /* customer.tipo não é parâmetro de função, mesmo com LIKE existe chance de um índice ser usado */ /*…

Ver o post original 117 mais palavras

Categorias:Sem categoria
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: