[firebase-br] IB_Query x Ibo_Query

Gladiston Santana gladiston em vidy.com.br
Quinta Junho 4 11:18:05 -03 2020


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. 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

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.
>
>
>


Mais detalhes sobre a lista de discussão lista