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.
 

 


Reply via email to