Carlos Santos está há 20 anos atuando como DBA em Oracle, SQL Server e PostgreSQL, em projetos de diferentes naturezas, inclusive em geoprocessamento.
Consultas com parâmetros opcionais com máximo desempenho
Vou compartilhar uma técnica para extrairmos máximo desempenho na elaboração das nossas procedures com parâmetros opcionais no Oracle e SQL Server.
Quantas vezes você elaborou uma procedure para retornar um cursor (recordset / resultset) que recebe parâmetros opcionais, ou seja apenas as condições na cláusula WHERE se alteram e o restante da query permanece intocado?
Pois bem, há uma abordagem que permite que o código referencie qualquer combinação de variáveis informadas, mas de uma forma que o otimizador do banco de dados trabalhe para nós com máximo desempenho.
Pretendo discutir a razão, independente de plataforma de banco de dados.