segunda-feira, 14 de setembro de 2009

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