[firebase-br] Lentidão no TIB_Cursor.Prepare;

Carlos Roberto da Silva ralhos em gmail.com
Qui Nov 9 16:50:26 -03 2017


Está levando 13,812 segundos para preparar o statement.
A preparação deste mesmo sql no firedac ou no ibexpert é instantaneo.
Att.

/*===
[ 09/11/2017 14:10:09 ]
(TApplication).DmContabil.CrSaldo_Conta.trCrSaldo_Conta.API_Start()
====*/
/*---
[ 09/11/2017 14:10:09 ]
START TRANSACTION
DB HANDLE COUNT 1
DB HANDLE 1 = 1
TPB VERSION 3
  write
  read_committed
  rec_version
  nowait
TR_HANDLE = 61

SECONDS = 13,812
----*/
/*---
[ 09/11/2017 14:10:23 ]
PREPARE STATEMENT
TR_HANDLE = 61
STMT_HANDLE = 60
Dialect = 3

select x.reduzido, x.dc, sum(x.valor) valor from
(
select
reduzido,
tpsaldo dc,
sum(saldoinicial) valor
from co_sct
where
(
(codempresa=?/* codempresa */) and
(codfilial=?/* codfilial */) and
(reduzido between ?/* reduzido_inicial */ and ?/* reduzido_final */)
)
group by 1, 2
union all
select
debito reduzido,
'D' dc,
sum(valor) valor
from co_lct
where
(
(co_lct.codempresa=?/* codempresa */) and
(co_lct.codfilial=?/* codfilial */) and
(debito between ?/* reduzido_inicial */ and ?/* reduzido_final */) and
(data<=?/* data */)
)
group by 1, 2
union all
select
credito reduzido,
'C' dc,
sum(valor) valor
from co_lct
where
(
(co_lct.codempresa=?/* codempresa */) and
(co_lct.codfilial=?/* codfilial */) and
(credito between ?/* reduzido_inicial */ and ?/* reduzido_final */) and
(data<=?/* data */)
)
group by 1, 2
) x group by 1, 2

PLAN SORT ((X CO_SCT INDEX (FK_CO_SCT_REDUZIDO, FK_CO_SCT_CODEMPRESA)))
PLAN SORT ((X CO_LCT INDEX (FK_CO_LCT_DEBITO, FK_CO_LCT_CODEMPRESA)))
PLAN SORT ((X CO_LCT INDEX (FK_CO_LCT_CREDITO, FK_CO_LCT_CODEMPRESA)))

FIELDS = [  Version 1 SQLd 3 SQLn 3
  [REDUZIDO] = <NIL>    < LONG SubType: 0 Len: 4 Scale: 0 Data: <nil> >
  [DC] = <NIL>    < TEXT[!null] SubType: 1589 Len: 1 Scale: 0 Data: <nil> >
  [VALOR] = <NIL>    < INT64 SubType: 1 Len: 8 Scale: -2 Data: <nil> > ]
----*/
/*===
[ 09/11/2017 14:10:23 ]
//>>> STATEMENT PREPARED <<<//
TIB_Statement.API_Prepare()
TIB_Cursor: "DmContabil.CrSaldo_Conta" stHandle=60
====*/
/*---
[ 09/11/2017 14:10:23 ]
DESCRIBE INPUT
STMT_HANDLE = 60
Dialect = 3
PARAMS = [  Version 1 SQLd 14 SQLn 14
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < LONG[!null] SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < LONG[!null] SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < LONG SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < LONG SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < TYPE_DATE[!null] SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < SHORT[!null] SubType: 0 Len: 2 Scale: 0 Data: <nil> >
   = <NIL>    < LONG SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < LONG SubType: 0 Len: 4 Scale: 0 Data: <nil> >
   = <NIL>    < TYPE_DATE[!null] SubType: 0 Len: 4 Scale: 0 Data: <nil> > ]
----*/
/*===
[ 09/11/2017 14:10:23 ]
(TApplication).DmContabil.CrSaldo_Conta.SysAfterPrepare()
  stHandle=60
  CharSet Information:
  Field Name:DC CharSet:WIN1252|WIN1252 Collate:WIN_PTBR CharLen:1 ByteLen:1
====*/
/*===
[ 09/11/2017 14:10:23 ]
(TApplication).DmContabil.CrSaldo_Conta.trCrSaldo_Conta.API_Commit()
(TApplication).DmContabil.CrSaldo_Conta.trCrSaldo_Conta.OpenCursors = 0
====*/


Em 9 de novembro de 2017 11:23, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Tem um componente monitordialog que mostra na tela mesmo.
>
> []s
> Carlos H. Cantu
> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
> CRdS> O IB_Monitor cria um arquivo de log ?
> CRdS> Como faço para direcionar para um arquivo de log ?
> CRdS> Att.
>
>
> CRdS> Em 9 de novembro de 2017 10:06, Carlos H. Cantu
> CRdS> <listas em warmboot.com.br> escreveu:
>
> CRdS> Use o componente de Monitor do IBO para tentar ver em que parte do
> CRdS>  processo está ocorrendo essa lentidão, e se for no código do IBO
> CRdS>  mesmo, reporte para o Jason.
>
> CRdS>  []s
> CRdS>  Carlos H. Cantu
> CRdS>  eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.
> php
> CRdS> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
>  CRdS>> Recentemente atualizei o IBO para a última versão e a partir daí
> alguns
>  CRdS>> cursores/querys ficaram
>  CRdS>> lentos ao executar o prepare.
>  CRdS>> A mesma instrução SQL no FDQuery ( FireDac ) é instantâneo como
> era na
>  CRdS>> versão anterior do IBO.
>  CRdS>> Algum colega que passou por esta situação ?
>
>
>  CRdS>> IBO versão 5.9.5_2652
>  CRdS>> Firebird 2.1.7 - SuperServer
>
>  CRdS>> SQL:
>  CRdS>> select x.reduzido, x.dc, sum(x.valor) valor from
>  CRdS>> (
>  CRdS>>   select
>  CRdS>>     reduzido,
>  CRdS>>     tpsaldo dc,
>  CRdS>>     sum(saldoinicial) valor
>  CRdS>>   from co_sct
>  CRdS>>   where
>  CRdS>> (
>  CRdS>>   (codempresa=:codempresa) and
>  CRdS>>   (codfilial=:codfilial) and
>  CRdS>>   (reduzido between :reduzido_inicial and :reduzido_final)
>  CRdS>> )
>  CRdS>> group by 1, 2
>  CRdS>> union all
>  CRdS>> select
>  CRdS>> debito reduzido,
>  CRdS>> 'D' dc,
>  CRdS>> sum(valor) valor
>  CRdS>> from co_lct
>  CRdS>> where
>  CRdS>> (
>  CRdS>> (co_lct.codempresa=:codempresa) and
>  CRdS>> (co_lct.codfilial=:codfilial) and
>  CRdS>> (debito between :reduzido_inicial and :reduzido_final) and
>  CRdS>> (data<=:data)
>  CRdS>> )
>  CRdS>> group by 1, 2
>  CRdS>> union all
>  CRdS>> select
>  CRdS>> credito reduzido,
>  CRdS>> 'C' dc,
>  CRdS>> sum(valor) valor
>  CRdS>> from co_lct
>  CRdS>> where
>  CRdS>> (
>  CRdS>> (co_lct.codempresa=:codempresa) and
>  CRdS>> (co_lct.codfilial=:codfilial) and
>  CRdS>> (credito between :reduzido_inicial and :reduzido_final) and
>  CRdS>> (data<=:data)
>  CRdS>> )
>  CRdS>> group by 1, 2
>  CRdS>> ) x group by 1, 2
>  CRdS>> ______________________________________________
>  CRdS>> FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
>  CRdS>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>  CRdS>> http://www.firebase.com.br/fb/artigo.php?id=1107
>  CRdS>> Para consultar mensagens antigas:
>  CRdS>> http://www.firebase.com.br/pesquisa_lista.html
>
>
> CRdS>  ______________________________________________
> CRdS>  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> CRdS>  Para saber como gerenciar/excluir seu cadastro na lista, use:
> CRdS> http://www.firebase.com.br/fb/artigo.php?id=1107
> CRdS>  Para consultar mensagens antigas:
> CRdS> http://www.firebase.com.br/pesquisa_lista.html
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://www.firebase.com.br/
> pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista