Não utilize o between

[ad#texto]
Essa é para aqueles que são desenvolvedores Oracle, principalmente no PL/SQL, suponha que alguém lhe pergunte como consultar uma tabela levando em consideração um intervalo de data, como você faria isso?

Seria algo semelhante a isso:

SELECT *
FROM suaTabela
WHERE campoData BETWEEN '010210' AND '010310';

Se você faz como o exemplo acima lhe digo que você acertou e errou ao mesmo tempo.

Acertou pois esse é a forma mais elegante de realizar a tarefa.

Você errou pois essa forma mina a performance da sua consulta, está certo que uma consulta tão simples como o exemplo acima essa quebra de performance nem seria percebida pelo Oracle, porém em um ambiente crítico com uma consulta mais complexa isso pode comprometer todo o sucesso da sua aplicação.

O PL/SQL da Oracle possui uma séria de truques, para o caso acima o ideal é que a consulta seja realizada da seguinte forma:

SELECT *
FROM suaTabela
WHERE campoData < '010210'
 AND campoData > '010310';

Notaram que a forma acima embora mais “feia” é a maneira que irá refletir mais performance para o Oracle.

Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 323 outros assinantes

Busca

agosto 2020
DSTQQSS
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

Categorias