segunda-feira, 30 de janeiro de 2012

Otimizações SQL

As dicas abaixo foram testadas essencialmente com Oracle:

1) Todas as vezes que for utilizar um SQL que possua condições de OR, é mais aconselhável e mais rápido utilizar IN, como no exemplo:

AO INVÉS DE

  Select * from projint where sit_projint = ‘AI’ or sit_projint = ‘EL’

COLOQUE

  Select * from projint where sit_projint IN (‘AI’,‘EL’);

2) Quando existem duas ou mais condições AND juntas, especifique primeiro sempre a que possui o maior limite de ocorrências

AO INVÉS DE

  select count(*) from pessoa where sit_pessoa = 11 AND cod_munic > 1100155

COLOQUE

  select count(*) from pessoa where cod_munic > 1100155 AND sit_pessoa = 11

3) Quando existem duas ou mais condições OR juntas, especifique primeiro sempre a que possui o maior limite de ocorrências

AO INVÉS DE

  select count(*) from pessoa where cod_munic > 1100155 OR sit_pessoa = 11

COLOQUE

  select count(*) from pessoa where sit_pessoa = 11 OR cod_munic > 1100155

4) Tenha cuidado com o sinal de <>

AO INVÉS DE

  select count(*) from pessoawhere cod_munic < > 1100155

COLOQUE

  select count(*) from pessoawhere cod_munic < 1100155 OR cod_munic > 1100155

Nenhum comentário:

Postar um comentário