Hi!

I sent this e-mail two times at saturday, but yahoo didn’t deliver it.
I try it again:


Hi Dany!

Try with CTE:

with procs as (
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")
select proc.proc
  from procs
    left outer join proc on proc.proc = procs.proc
  where proc.proc is not null



Maybe it will be fast with inner join too:

with procs as (
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")
select proc.proc
  from procs
    inner join proc on proc.proc = procs.proc




András


From: firebird-support@yahoogroups.com <firebird-support@yahoogroups.com>
Sent: Monday, May 27, 2019 4:25 PM
To: firebird-support@yahoogroups.com
Subject: Re: [firebird-support] Query that was very fast under the oldest 2.5 
versions are very slow under 2.5.8 or 2.5.9



Hello Karol; here you have both query plans, excecuted over same FDB file, on 
the same machine:

-----------------------------------------------------
FIREBIRD 2.5.0:
-----------------------------------------------------

Preparing query: select 
"PROC"."PROC","PROC"."CARP","PROC"."ACTO","PROC"."DEMA","PROC"."OBSE","TPRO"."DSCR"
 as 
"D_TPRO","PROC"."OJUD","PROC"."INST","PROC"."EXP1","PROC"."EXP2","PROC"."EXP3","PROC"."EXP4"
 from "PROC" left outer join "TPRO" on "PROC"."TPRO"="TPRO"."TPRO" left outer 
join "OJUD" o1 on "PROC"."OJUD"=o1."OJUD" left outer join "ZONA& quot; o2 on 
o1."ZONA"=o2."ZONA" where ((("PROC"."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")))) order by 
o2."ORDE",o1."ORDE",lower("PROC"."ACTO"),lower("PROC"."DEMA")
Prepare time: 1.498s
Field #01: PROC.PROC Alias:PROC Type:STRING(10)
Field #02: PROC.CARP Alias:CARP Type:STRING(18)
Field #03: PROC.ACTO Alias:ACTO Type:STRING(200)
Field #04: PROC.DEMA Alias:DEMA Type:STRING(200)
Field #05: PROC.OBSE Alias:OBSE Type:STRING(120)
Field #06: TPRO.DSCR Alias:D_TPRO Type:STRING(120)
Fie ld #07: PROC.OJUD Alias:OJUD Type:STRING(10)
Field #08: PROC.INST Alias:INST Type:STRING(1)
Field #09: PROC.EXP1 Alias:EXP1 Type:STRING(18)
Field #10: PROC.EXP2 Alias:EXP2 Type:STRING(18)
Field #11: PROC.EXP3 Alias:EXP3 Type:STRING(18)
Field #12: PROC.EXP4 Alias:EXP4 Type:STRING(18)
PLAN SORT ((MOVI INDEX (MOVI_PROC, MOVI_FECH)))
PLAN SORT (JOIN (JOIN (JOIN (PROC NATURAL, TPRO INDEX (TPRO_PK)), O1 INDEX 
(OJUD_PK)), O2 INDEX (ZONA_PK)))


Executing...
Done.
3051054 fetches, 8 marks, 17180 reads, 8 writes.
0 inserts, 0 updates, 0 deletes, 148293 index, 52648 seq.
Delta memory: 79112 bytes.
Total execution time: 0:01:34 (hh:mm:ss)
Script execution finished.

-----------------------------------------------------
FIREBIRD 2.5.8:
---------------------------------------------- -------

Preparing query: select 
"PROC"."PROC","PROC"."CARP","PROC"."ACTO","PROC"."DEMA","PROC"."OBSE","TPRO"."DSCR"
 as 
"D_TPRO","PROC"."OJUD","PROC"."INST","PROC"."EXP1","PROC"."EXP2","PROC"."EXP3","PROC"."EXP4"
 from "PROC" left outer join "TPRO" on "PROC"."TPRO"="TPRO"."TPRO" left outer 
join "OJUD" o1 on "PROC"."OJUD"=o1."OJUD" left outer join "ZONA" o2 on 
o1."ZONA"=o2."ZONA" where ((("PROC"."PROC" in (select distinct "PROC" from 
"MOVI" where "MOVI"."TIPO" in ('1','A','B') and ("MOVI".&q uot;FECH" between 
'20190301' and '20190412') and "MOVI"."MIEM" = '15JMS45D7A' and "MOVI"."HECH" = 
'N' order by "PROC")))) order by 
o2."ORDE",o1."ORDE",lower("PROC"."ACTO"),lower("PROC"."DEMA")
Prepare time: 0.031s
Field #01: PROC.PROC Alias:PROC Type:STRING(10)
Field #02: PROC.CARP Alias:CARP Type:STRING(18)
Field #03: PROC.ACTO Alias:ACTO Type:STRING(200)
Field #04: PROC.DEMA Alias:DEMA Type:STRING(200)
Field #05: PROC.OBSE Alias:OBSE Type:STRING(120)
Field #06: TPRO.DSCR Alias:D_TPRO Type:STRING(120)
Field #07: PROC.OJUD Alias:OJUD Type:STRING(10)
Field #08: PROC.INST Alias:INST Type:STRING(1)
Field #09: PROC.EXP1 Alias:EXP1 Type:STRING(18)
Field #10: PROC.EXP2 Alias:EXP2 Type:STRING(18)
Field #11: PROC.EXP3 Alias:EXP3 Type:STRING(18)
Field #12: PROC.EXP4 Alias:EXP4 Type:STRING(18)
PLAN SORT ((MOVI INDEX (MOVI_PROC)))
PLAN SORT (JOIN (JOIN (JOIN (PROC NATURAL, TPRO INDEX (TPRO_PK)), O1 INDEX 
(OJUD_PK)), O2 INDEX (ZONA_PK)))


Executing...
Done.
2458464 fetches, 8 marks, 843116 reads, 8 writes.
0 inserts, 0 updates, 0 deletes, 1076748 index, 53232 seq.
Delta memory: 221664 bytes.
Total execution time: 0:20:40 (hh:mm:ss)
Script execution finish




Thank you!!!

________________________________
Posted by: danysch...@yahoo.com
  • Re: [fi... setysvar setys...@gmail.com [firebird-support]
    • Re... danysch...@yahoo.com [firebird-support]
  • [firebi... danysch...@yahoo.com [firebird-support]
    • Re... Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]
      • ... danysch...@yahoo.com [firebird-support]
        • ... danysch...@yahoo.com [firebird-support]
  • Re: [fi... liviuslivius liviusliv...@poczta.onet.pl [firebird-support]
    • Re... danysch...@yahoo.com [firebird-support]
      • ... Karol Bieniaszewski liviusliv...@poczta.onet.pl [firebird-support]
        • ... danysch...@yahoo.com [firebird-support]
      • ... Omacht András aoma...@mve.hu [firebird-support]
        • ... danysch...@yahoo.com [firebird-support]

Reply via email to