Hello; select “PROC” from “PROC” where “PROC” in ( select distinct "PROC" from "MOVI" where "MOVI"."TIPO" in ('1','A','B') and ("MOVI"."FECH" between '20190301' and '20190412') and "MOVI"."MIEM" = '15JMS45D7A' and "MOVI"."HECH" = 'N' order by "PROC")
After testing, I finally found out what is the problem with this query. Before Firebird 2.5.4, the query optimizer always accepted to use the compound index MOVI_FECH (FECH,HORA) for optimizing the MOVI part. But since Firebird 2.5.4 and later versions of Firebird, the eninge does not use this index anymore. That (and ONLY THAT) is making my query to need 24 minutes insted of 1 minute. I reported the case and my foundings: http://tracker.firebirdsql.org/browse/CORE-6070 http://tracker.firebirdsql.org/browse/CORE-6070 Thank you.