[firebase-br] IB_Query x Ibo_Query

Gustavo Novaes gutonovaes19 em gmail.com
Quinta Junho 4 11:47:25 -03 2020


Oi Gladiston,
Sou aquele que ainda tá migrando BDE para IBO (não conte a ninguém por
favor) mas "preservando" o D5 ("sou muito apegado" rsrsr ).
Obrigado pela resposta.


*Gustavo Novaes *




Em qui., 4 de jun. de 2020 às 11:19, Gladiston Santana <
gladiston em vidy.com.br> escreveu:

> Nobre colega,
>
> Os IBO* são descendentes de TDataset, são 100% compativeis com qq
> componente para delphi usados para dbgrids, relatórios e gráficos.
> Os IB_* tem descendência própria, o TIB_Dataset, que só conversa com outros
> componentes IB_*,  não dá para usar dbgrid com ele, daí voce tem que usar
> TIB_Grid no seu lugar e assim por diante. Olhando o código para essa
> herança perceberá que ele compartilha todos os dados numa espécie de cache
> único para todos os componentes IB_ quase nunca tendo que ir ao banco de
> dados mais de uma vez, essa é a performance que vê, ele começa perdendo
> tempo na largada inicial porém vai minimizando a necessidade de acessar o
> banco outra vezes.

Sim, foi isso que percebi. Fiz a migração em massa de tudo que era table e
query para os correlatos Ibo (IboTable, IboQuery).
Essa semana que consegui um computador servidor para testar melhor as
velocidades. Estou bem longe de acabar esse trabalho que , às vezes, me
questiono se deveria continuar - síndrome do violinista do titanic. No
"final" provavelmente terei a aplicação rodando em máquinas virtuais,
penaliza menos os clientes que estão usando acesso remoto home office. Quem
sabe até consiga colocar o banco de dados nas nuvens - não estudei isso
ainda.
No teste, a carga do sistema ficou lenta logo que abre o 1o IboTable. Se
trocando pelo IboQuery ou Ib_Query o problema fica deixa de ocorrer na
carga mas, ao menos, o usuario verá o formulário trabalhando.
Após as conversões, estou testando cada unit, o que não fica aceitável,
troco os acessos de Table para Query.
Talvez eu coloque um table numa thread durante a carga do sistema só pra
contornar o problema.

Também os componentes próprios são bem melhores que os
> que acompanham o delphi, o ib_grid por exemplo é bem mais simples e
> prático. É um bom diferencial, mas com o tempo perceberá que os exemplos
> usados na internet não lhe servirão, todo componente da palheta de
> terceiros ou o que acompanham o delphi só lê TDataset então num dado
> momento terá de contornar isso copiando dados de um dataset ibo para um
> clientdataset e isso aumentará a complexidade dos seus projetos. Outro
> fator é seu desenvolvedor, carismático e de bem com a vida, mas é tudo
> ele... consegue ver onde quero chegar? Para ilustrar no Linux alguns anos
> atrás, havia um filesystem que praticamente era uma excelência e incluído
> até como padrão em algumas instalações de distros, mas este filesystem
> estava ancorado numa comunidade onde apenas pessoa coordenava e que apesar
> de não se chamar Jason resolveu agir como um e rmatou a esposa e por isso
> foi preso, o projeto sem o mentor caiu em desuso e mais tarde foi tentado
> resgatá-lo mas sem o sucesso de antes. Então é algo que você deve avaliar
> porque se seus programas forem bons serão usados por muito tempo.
> Pessoalmente, se estivesse começando com banco de dados e Delphi iria
> direto para o FireDac.
> A versão community do Delphi já inclui ele, e no caso do Firebird, pelo que
> testei não há nenhuma limitação, casando o Firebird como presente perfeito.
> Outros bancos - populares - pelo que ouvi dizer só funcionam localmente e
> precisam da licença comercial para funcionar. O que soube é que a versão
> community não gosta do BDE, tentei compilar um projeto aqui que usa BDE e
> apesar de rodar, quando chega a se conectar toma uma exception dizendo que
> a versão não é apropriada.
>
> []´s
>
Gostei da história.

>
> Em seg., 1 de jun. de 2020 às 19:58, Gustavo Novaes <
> gutonovaes19 em gmail.com>
> escreveu:
>
> > Boa noite,
> >
> > Estou percebendo lentidão na conversão BDE x IBO
> > Um exemplo, o 1o dataset que é aberto, que era um Ttable , passei para
> > TIoTable, ao abrir, mostra no IB_Monitor, que está lendo todos objetos do
> > banco de dados (nomes de tabelas e de indices).
> > Troquei esse TIbotable para IboQuery e notei uma extraordinária melhora.
> >
> > Ao trocar pelo Ib_Query , a rotina que fiz, parece ficou melhor ainda.
> >
> >
> >
> ______________________________________________
> 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