[firebase-br] Regressão no Firebird???

Carlos H. Cantu listas em warmboot.com.br
Ter Maio 10 16:27:16 -03 2016


Sugiro que vc poste isso no bug tracker do Firebird, para que possa
ser analisado pelos core-developers.

[]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

DPR>     Aqui na empresa gostamos muito do Firebird, mas desta vez aconteceu um
DPR> episódio muito estranho. Quando atualizamos um cliente que estava na versão
DPR> 2.5.1 para a 2.5.5 uma SQL simplesmente parou tudo. Trouxemos o banco para
DPR> análise e fizemos teste também na versão 3.0.0 e por incrível que pareça
DPR> continuou com o mesmo problema:

DPR>     Na versão 2.5.1 o comando roda em milissegundos, já nas versões mais
DPR> novas demora 4 minutos e meio.

DPR>     Achei que fosse algo relacionado à escolha do plano de execução, mas
DPR> forçando o mesmo plano, as leituras ao disco continuaram muito altas. Vejam
DPR> os logs abaixo:

DPR>     Se alguém ( tipo Cantú :-) ) quiser dar uma olhada, tenho como enviar a
DPR> SQL e o banco apenas com as tabelas envolvidas.

DPR>     Em tempo: Já revolvemos o problema modificando a forma como a SQL era
DPR> feita. O problema é que o pessoal perde a confiança nas versões mais novas e
DPR> não quer atualizar outros clientes com medo de se deparar com outros 
DPR> problemas do tipo.

DPR> Firebird 2.5.1
DPR> PLAN (DP_REGISTRO_OEST INDEX (UNQ1_DP_REGISTRO_OEST))
DPR> PLAN (DP_FERIAS INDEX (DP_FERIAS_IDX1, FK_DP_FERIAS_3))
DPR> PLAN JOIN (JOIN (JOIN (JOIN (DP_REGISTRO NATURAL, DP_RECIBO INDEX 
DPR> (FK_DP_RECIBO_1)), DP_RECIBO_EVE INDEX (FK_DP_RECIBO_EVE_1, 
DPR> DP_RECIBO_EVE_IDX2)), DP_EVENTO INDEX (RDB$PRIMARY_DP_EVENTO)), 
DPR> DP_RECIBO_PER_ANTERIOR INDEX (FK_DP_RECIBO_PER_ANTERIOR_1))

DPR> ------ Performance info ------
DPR> Prepare time = 0ms
DPR> Execute time = 16ms
DPR> Current memory = 1.382.144
DPR> Max memory = 2.246.624
DPR> Memory buffers = 75
DPR> Reads from disk to cache = 141
DPR> Writes from cache to disk = 0
DPR> Fetches from cache = 4.731




DPR> Firebird 3.0
DPR> PLAN (DP_REGISTRO_OEST INDEX (UNQ1_DP_REGISTRO_OEST))
DPR> PLAN (DP_FERIAS INDEX (DP_FERIAS_IDX1))
DPR> PLAN JOIN (JOIN (JOIN (JOIN (DP_REGISTRO NATURAL, DP_RECIBO INDEX 
DPR> (FK_DP_RECIBO_1)), DP_RECIBO_EVE INDEX (FK_DP_RECIBO_EVE_1, 
DPR> DP_RECIBO_EVE_IDX2)), DP_EVENTO INDEX (RDB$PRIMARY_DP_EVENTO)), 
DPR> DP_RECIBO_PER_ANTERIOR INDEX (FK_DP_RECIBO_PER_ANTERIOR_1))

DPR> ------ Performance info ------
DPR> Prepare time = 16ms
DPR> Execute time = 4m 32s 844ms
DPR> Current memory = 2.960.928
DPR> Max memory = 3.030.104
DPR> Memory buffers = 90
DPR> Reads from disk to cache = 5.693.279
DPR> Writes from cache to disk = 0
DPR> Fetches from cache = 9.345.611


DPR> Obrigado pela ajuda.

DPR> Denis Pereira Raymundo





Mais detalhes sobre a lista de discussão lista