[firebase-br] FB5 - Desempenho SELECT com VALOR IN (CAMPO, CAMPO2, ... )

Frederico Godoi frederico.godoi em gmail.com
Terça Julho 23 18:31:03 -03 2024


Boa noite!

Legal ver o forum mais movimentado novamente.

Eu também estou nos testes de migração de FB2.5 para FB5.
Tem um recurso que uso muito no 2.5 que é

SELECT CAMPO FROM TABELA WHERE '12345679' IN ( CAMPO1, CAMPO2)

Esses 2 campos tem índices próprios, isto é, cada um tem um.
No Firebird 2.5 ele usa os 2 índices para pesquisar, retorna bem rápido.
No Firebird 5 ele não usa nenhum, fazendo um PLAN NATURAL , bem lento
naturalmente pelo volume da tabela.
No Firebird 5 se eu alterar a pesquisa para WHERE CAMPO1 = '12345679' OR
CAMPO2 = '12345679' ele vai usar índice.

Fiz um teste criando um índice com os 2 campos e mesmo assim o Firebird 5
ainda retorna PLAN NATURAL. Alguém já passou ? Não queria ter que alterar
uma pesquisa bem difundida na minha aplicação.

Frederico

-- 
Frederico Godoi


Mais detalhes sobre a lista de discussão lista