[firebase-br] WHERE X <> 0 ou WHERE NOT (X = 0)
Paulo Geloramo
paulogeloramo em terra.com.br
Qui Ago 23 12:14:02 -03 2007
Firebird 2.0.1
Qual o melhor desempenho?
WHERE X <> 0
ou
WHERE NOT (X = 0)
Existe alguma situação para preferir uma
forma a outra?
Nos testes que fiz em um banco pequeno,
gerou o mesmo plan e a performance foi
praticamente igual, veja os resultados abaixo.
Este código pode ter sido traduzido antes
de ser passado para o banco, ou seja, o
banco esta sempre recebendo o mesmo
código?
Resultado:
------------------
WHERE X <> 0
Plan
PLAN JOIN (JOIN (L NATURAL, P INDEX (FK_PRODUTO_PERFIL), E INDEX
(FK_EDICAO_PRODUTO)), N INDEX (PK_NOTA_PONTO))
Adapted Plan
PLAN JOIN (JOIN (L NATURAL, P INDEX (FK_PRODUTO_PERFIL), E INDEX
(FK_EDICAO_PRODUTO)), N INDEX (PK_NOTA_PONTO))
------ Performance info ------
Prepare time = 0ms
Execute time = 31ms
Avg fetch time = 15,50 ms
Current memory = 668.780
Max memory = 687.108
Memory buffers = 2.048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 41.149
-----------
WHERE NOT (X = 0)
Plan
PLAN JOIN (JOIN (L NATURAL, P INDEX (FK_PRODUTO_PERFIL), E INDEX
(FK_EDICAO_PRODUTO)), N INDEX (PK_NOTA_PONTO))
Adapted Plan
PLAN JOIN (JOIN (L NATURAL, P INDEX (FK_PRODUTO_PERFIL), E INDEX
(FK_EDICAO_PRODUTO)), N INDEX (PK_NOTA_PONTO))
------ Performance info ------
Prepare time = 0ms
Execute time = 32ms
Avg fetch time = 16,00 ms
Current memory = 668.912
Max memory = 687.108
Memory buffers = 2.048
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 41.149
[]s
Paulo Geloramo
Mais detalhes sobre a lista de discussão lista