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
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