[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