[firebase-br] NOT EXISTS

Gladiston Santana gladiston em vidy.com.br
Qua Jul 23 09:46:26 -03 2014


Vou executar o teste aqui e depois eu posto.

Mas gostaria que voce postasse o PLAN junto com a estatistica, a quantidade
de reads não deve ter sido a mesma para a mesma coisa.
Além disso, preciso que voce faça o teste a frio, isto é, reinicie o
serviço, execute a query com o NOT, depois reinicie o serviço, execute a
query sem o NOT.

Fico no aguardo.

Em 22 de julho de 2014 21:50, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Continuo discordando da generalização que vc fez no email inicial,
> sobre evitar usar NOT. A prova de que a performance nem sempre é
> prejudicada eu já dei.
>
> No exemplo que postei, a consulta realizada pelo Firebird será a mesma
> tanto na query que usa NOT como na que não usa: em ambos os casos, ele
> irá verificar se houve pelo menos uma nota emitida para o produto
> dentro do período especificado. A negativa é aplicada sobre o
> resultado.
>
> O tempo de preparação da query, no meu exemplo, foi menor com o NOT do
> que sem ele. A diferença no tempo de execução foi de 47ms, ou seja,
> praticamente nada.
>
> O ganho que vc se refere geralmente ocorre em consultas onde usaram
> NOT IN e vc substitui por EXISTS, pela limitação do otimizador eu já
> citei (e que consta no ReleaseNotes).
>
> O perigo de generalizar é que muitos assumem como verdade absoluta
> para todos os casos, portanto, é importante ficar claro que cada caso
> é um caso.



Mais detalhes sobre a lista de discussão lista