[firebase-br] Firebird é lento na rede?!'

Ricardo Rocha rmsrlinus em gmail.com
Sex Ago 27 15:44:53 -03 2010


Vou colocar a instrução SQL que uso para realizar essa busca:

Seque a instrução SQL:

select produto.prod_cod, produto.prod_nome, produto.prod_marca,
produto.prod_preco, produto.prod_foto, produto.prod_obs, produto.prod_qtd,
fornecedor.forn_nome, fornecedor.forn_cidade, fornecedor.forn_uf,
fornecedor.forn_tel1, fornecedor.forn_tel2, fornecedor.forn_cel1,
fornecedor.forn_email, fornecedor.forn_reprenome,
fornecedor.forn_reprecidade, fornecedor.forn_repretel,
fornecedor.forn_reprecel, fornecedor.obs, tipo_peca.tipo_nome,
tipo_peca.cat_cod, categoria.cat_nome, unidade.und_desc from unidade inner
join produto on (unidade.und_cod = produto.und_cod) inner join tipo_peca on
(produto.tipo_cod = tipo_peca.tipo_cod) inner join fornecedor on
(produto.forn_cod = fornecedor.forn_cod) inner join categoria on
(tipo_peca.cat_cod = categoria.cat_cod) where UPPER(PRODUTO.PROD_NOME) like
:PROD_NOME

Agora vou colocar como está sendo feita a busca no Delphi:

TSQLDataSet < TDataSetProvider (poAllowCommandText  = True) < TClientDataSet
< TDataSource < DBGrid

E tenho um edidt com o seguinte código no evento OnKeyPress:

   if key = #13 then
    begin
      cdsBuscaGenerica.Close;
      cdsBuscaGenerica.Params[0].AsString := (eBusca.Text+'%');
      cdsBuscaGenerica.Open;
      Key:=#0;
    end;

É isso ai pessoal, talvez pode ser a maneira como eu estou trabalhando que
esteja tornando a busca lenta...

Obrigado.

Em 27 de agosto de 2010 14:54, Ricardo Rocha <rmsrlinus em gmail.com> escreveu:

> Olá à todos!
> Desenvolvi um sistema delphi+firebird. Porém estou um pouco triste com o
> firebird. É o seguinte tenho um formulário para fazer busca de produtos e a
> busca está muito lenta muito lenta mesmo.
> Será que pode ser por que eu estou usando inner join na busca? Se eu usar
> view para fazer busca tem como melhor esse desempenho? Usando view eu posso
> parametrizar o campo nome do produto?
>
> Obrigado,
>
> Ricardo Rocha
>



Mais detalhes sobre a lista de discussão lista