[firebase-br] Select com um campoComputedByquandolentodeixatodosos outros GDBs lento. Porque?

Jorge Henrique Aguiar jorginho em tauruslocacoes.com.br
Sex Dez 3 09:12:55 -03 2004


Vale muito a pena vc fazer pq além de velocidade, vc ganha tb em facilidade.

Vc deve utilizar inner join para todos esses tipos de consulta e deixar os 
computed by somente para calculos.


----- Original Message ----- 
From: "Chico" <chico em auditecmatao.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 03, 2004 9:36 AM
Subject: Re: [firebase-br] Select com um 
campoComputedByquandolentodeixatodosos outros GDBs lento. Porque?


> Ok cara, valeu a explicação, tanto que já mudei a consulta usando INNER 
> JOIN coloquei um indice no campo FORNECEDOR e o resultado já é 1 segundo 
> agora.
> Quero saber só um detalhe, eu uso os computed by mais para mostrar esses 
> campos em relatórios ... vocês acham que eu posso continuar assim, ou 
> melhor usar INNER JOIN nos relatórios e usar o COMPUTED BY somente para 
> calculos matemáticos ?
>
> Chico.
>
> ----- Original Message ----- 
> From: "Eduardo Jedliczka" <eduardo em gerasoftinfo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, December 03, 2004 7:18 AM
> Subject: Re: [firebase-br] Select com um campo 
> ComputedByquandolentodeixatodosos outros GDBs lento. Porque?
>
>
>> Chico, desculpe ser grosso... Acho que me excedi um pouco... Mas 
>> concerteza,
>> eu chamei a sua atenção (e de outros).
>>
>> Mas vamos lá... (Só um detalhe, eu não sei com quais bancos de dados, e
>> tecnologias, você já trabalhou, então dificulta um pouco)
>>
>> PK (Primary Key) é a chave primária, é um identificador único daquele
>> registro. Pode ser um campo ou vários.
>> FK (Foreign Key) é uma chave estrangeira. É uma "regra" que consiste que
>> informações de uma tabela "existam" na outra tabela. Ou seja se você tem 
>> uma
>> tabela produtos, que possui um campo código do fornecedor, você quer que
>> este fornecedor exista! Correto, e em determinados casos que se for
>> alterado/excluído o fornecedor, o banco continua íntegro...
>>
>> Join é uma junção, é a capacidade do banco retornar registros de duas ou
>> mais tabelas num mesmo select. ou seja:
>> Select P.CodProduto, P.Nome, P.Quant, P.Preco, P.CodFornecedor, F.Nome as
>> NomeFornecedor
>>>From Produtos P
>> Inner Join Fornecedores F on F.CodFornecedor = P.CodFornecedor
>>
>> Trará todos os produtos com o nome de seu respectivo fornecedor.
>>
>> Se você quizesse em ordem do nome do fornecedor, ou filtrado pelo nome do
>> fornecedor, poderia acrescentar algo como
>>
>> Where F.Nome Like '%FIRE%'
>> Order by F.Nome, P.Nome
>>
>> [s]
>>
>> PS: como você utiliza IBX, deve conhecer o IBUpdateSQL...
>>
>> PS2: há muito material interessante na FireBase para quem está começando 
>> ou
>> tem algumas dúvidas em relação ao IB/FB.
>>
>> =====================
>> Eduardo Jedliczka
>> GeraSoft Informática
>> Apucarana - PR
>> =====================
>> ----- Original Message ----- 
>> From: "Chico" <chico em auditecmatao.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, December 03, 2004 8:42 AM
>> Subject: Re: [firebase-br] Select com um campo
>> ComputedByquandolentodeixatodos os outros GDBs lento. Porque?
>>
>>
>>> Não não ... eu não uso IBTables não... isso mata o sistema ... uso o
>>> IBDataSet, IBQuery.
>>> Eu não uso tantos Computed By não ... agora eu gostaria se possivel que
>> você
>>> pudesse me explicar (mesmo que fosse em pvt) o que é e como usar
>> (exemplos)
>>> o FK, Join, Union.
>>>
>>> Grato.
>>> []s
>>> Chico.
>>> ----- Original Message ----- 
>>> From: "Eduardo Jedliczka" <eduardo em gerasoftinfo.com.br>
>>> To: "FireBase" <lista em firebase.com.br>
>>> Sent: Thursday, December 02, 2004 4:39 PM
>>> Subject: Re: [firebase-br] Select com um campo Computed
>>> Byquandolentodeixatodos os outros GDBs lento. Porque?
>>>
>>>
>>> > Chico, eu diria que você tem uma tecnologia Client/Servidor e está
>>> > desperdiçando o melhor disto...
>>> >
>>> > É como se você programasse até hoje para DOS.
>>> >
>>> > Isto me fez pensar numa possibilidade, se você utiliza IBX, será que
>> você
>>> > utiliza IBTable ? ou já aprendeu a utilizar a IBQuery ?
>>> >
>>> > [s]
>>> >
>>> > Só uma coisa, PKs, Fks, e Joins São básicos, Computed By na maioria 
>>> > das
>>> > vezes é "gambiarra"...
>>> >
>>> > =====================
>>> > Eduardo Jedliczka
>>> > GeraSoft Informática
>>> > Apucarana - PR
>>> > =====================
>>> > ----- Original Message ----- 
>>> > From: "Chico" <chico em auditecmatao.com.br>
>>> > To: "FireBase" <lista em firebase.com.br>
>>> > Sent: Thursday, December 02, 2004 6:24 PM
>>> > Subject: Re: [firebase-br] Select com um campo Computed By
>>> > quandolentodeixatodos os outros GDBs lento. Porque?
>>> >
>>> >
>>> >> Olha cara, pelo menos até hoje eu não precisei usar, pq todos os
>> sistemas
>>> >> estão rodando satisfatóriamente.
>>> >>
>>> >> Pode ser que um dia eu precise de alguma consulta mais cabeluda e 
>>> >> venha
>>> >> correr atrás dessas instruções. Acho que é por aí.
>>> >>
>>> >> []s
>>> >> Chico.
>>> >>
>>> >> ----- Original Message ----- 
>>> >> From: "Eduardo Jedliczka" <eduardo em gerasoftinfo.com.br>
>>> >> To: "FireBase" <lista em firebase.com.br>
>>> >> Sent: Thursday, December 02, 2004 3:27 PM
>>> >> Subject: Re: [firebase-br] Select com um campo Computed By quando
>>> >> lentodeixatodos os outros GDBs lento. Porque?
>>> >>
>>> >>
>>> >> > Chico...
>>> >> >
>>> >> > se você não usa ForeignKey e Joins, como você consegue desenvolver 
>>> >> > os
>>> > seus
>>> >> > sistemas ????
>>> >> >
>>> >> > [s]
>>> >> >
>>> >> > =====================
>>> >> > Eduardo Jedliczka
>>> >> > GeraSoft Informática
>>> >> > Apucarana - PR
>>> >> > =====================
>>> >> > ----- Original Message ----- 
>>> >> > From: "Chico" <chico em auditecmatao.com.br>
>>> >> > To: "IB/FB" <lista em firebase.com.br>
>>> >> > Sent: Thursday, December 02, 2004 3:35 PM
>>> >> > Subject: [firebase-br] Select com um campo Computed By quando lento
>>> >> > deixatodos os outros GDBs lento. Porque?
>>> >> >
>>> >> >
>>> >> >> Pessoal, eu tenho um GDB aqui cujo uma tabela possue quase 4000
>>> >> >> registros.
>>> >> > Essa tabela tem um campo chamado FORNECEDOR que é COMPUTED BY. 
>>> >> > Quando
>>> >> > eu
>>> >> > faço:
>>> >> >>
>>> >> >> Select * from CONTAPAGARNF
>>> >> >> Where UPPER(FORNECEDOR) Like UPPER('%FIA%')
>>> >> >>
>>> >> >> Ele demora uns 15 segundos para me retornar apenas 1 resultado. Só
>> que
>>> >> > enquanto ele demora, as demais maquina que estão processando outros
>>> >> > sistemas
>>> >> > com outros GDBs, ficam lentas. Aí quando esse select que eu fiz
>> retorna
>>> > o
>>> >> > resultado. As maquinas voltam a velocidade normal.
>>> >> >> Alguem ja passou por isso ? Uso FireBird 1.0.2.908 D7 IBX
>>> >> >>
>>> >> >> Grato.
>>> >> >> Chico.
>>> >> >> ______________________________________________
>>> >> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> >> >> Para editar sua configuração na lista, use o endereço
>>> >> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> >> >>
>>> >> >
>>> >> >
>>> >> > ______________________________________________
>>> >> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> >> > Para editar sua configuração na lista, use o endereço
>>> >> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> >> >
>>> >>
>>> >>
>>> >> ______________________________________________
>>> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> >> Para editar sua configuração na lista, use o endereço
>>> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> >>
>>> >
>>> >
>>> > ______________________________________________
>>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> > Para editar sua configuração na lista, use o endereço
>>> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> >
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço 
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
> 






Mais detalhes sobre a lista de discussão lista