Lentidão no interbase
Estou usando Delphi5 com interbase 6. Tenho uma tabela clientes com 300 clientes e ao clicar em inserir abre uma janela para que seja digitado o CNPJ, daí ele faz uma verificação no Banco se o Cliente já existe, caso não dá um insert, caso sim, aponta para o registro.
Estou fazendo a busca por um ibTable.
Demora muito, quase um minuto num k6II 500/128mb
alguem sabe como melhorar o desempenho?
Eu uso os componentes ta paleta InterBase o Delphi é o 5.
Valeu!!!
Estou fazendo a busca por um ibTable.
Demora muito, quase um minuto num k6II 500/128mb
alguem sabe como melhorar o desempenho?
Eu uso os componentes ta paleta InterBase o Delphi é o 5.
Valeu!!!
Renaldo
Curtidas 0
Respostas
Joilson_gouveia
16/08/2003
Renaldo,
Não deveria demorar tanto, pois sua base de clientes é pequena.
Talvez o problema resida em usar componete Table...
Eu recomendo usar componente Query...
Tente trocar para ver se dá maior performance.
Não deveria demorar tanto, pois sua base de clientes é pequena.
Talvez o problema resida em usar componete Table...
Eu recomendo usar componente Query...
Tente trocar para ver se dá maior performance.
GOSTEI 0
Aroldo Zanela
16/08/2003
Colega,
Eu não tenho nenhuma experiência com IB, mas na semana passada eu fiz uma aplicação com Delphi/Firebird e importei um cadastro de pessoas com +- 6500 pessoas. No primeiro teste eu utilizei IBTable e notei que a cada registro adicionado a performance diminuia, como acontece com a Table do BDE. Em seguida, utilizei uma IBQuery em conjunto com um IBUpdateSQL e a performance foi alta do início ao fim, ou seja, não houve degradação em relação a quantidade de volume inserido.
Instalei o FB num servidor onde roda o nosso servidor MS SQL (2 processadores - Raid 5).
Na próxima semana farei um teste com uma tabela com mais de 3 milhoes de registro que temos no IBM/DB2 para avaliar a performance e outras coisas no FB. Postarei aqui os resultados.
Eu não tenho nenhuma experiência com IB, mas na semana passada eu fiz uma aplicação com Delphi/Firebird e importei um cadastro de pessoas com +- 6500 pessoas. No primeiro teste eu utilizei IBTable e notei que a cada registro adicionado a performance diminuia, como acontece com a Table do BDE. Em seguida, utilizei uma IBQuery em conjunto com um IBUpdateSQL e a performance foi alta do início ao fim, ou seja, não houve degradação em relação a quantidade de volume inserido.
Instalei o FB num servidor onde roda o nosso servidor MS SQL (2 processadores - Raid 5).
Na próxima semana farei um teste com uma tabela com mais de 3 milhoes de registro que temos no IBM/DB2 para avaliar a performance e outras coisas no FB. Postarei aqui os resultados.
GOSTEI 0
Renaldo
16/08/2003
Eu aqui de novo.
Sou adepto das Querys, adori digitar uma, porem i ibQuery não aceita:
ibQuery1.Insert;
Daí resolví usar o ibTable....
Qual a solução?
Valeu pela atenção Pessoal
Um abraço.
Sou adepto das Querys, adori digitar uma, porem i ibQuery não aceita:
ibQuery1.Insert;
Daí resolví usar o ibTable....
Qual a solução?
Valeu pela atenção Pessoal
Um abraço.
GOSTEI 0
Dr. Interbase
16/08/2003
Cara uso o interbase num escritorio de advogados com 1500 registros. uso o ibquery e uso tambem o ibquery.insert funciona sim, veja qual a instrução do select para ver se não tem nada errado, porque o insert funciona.
Sds
Sds
GOSTEI 0
Aroldo Zanela
16/08/2003
Eu aqui de novo.
Sou adepto das Querys, adori digitar uma, porem i ibQuery não aceita:
ibQuery1.Insert;
Daí resolví usar o ibTable....
Qual a solução?
Valeu pela atenção Pessoal
Um abraço.
Colega,
Ou vc não tem um select editável, ou não setou requestlive=true ou não associou a query a um IBUpdateSQL.
Faça o seguinte:
1. Solte um IBQuery e monte o select simples (por exemplo: select * from tabela);
2. Solte um IBUpdateSQL;
3. Vai no IBQuery e associe o IBUpdateSQL;
4. Vai no IBUpdateSQL, clique duas vezes, pressione select primary key e em seguida em gerenerate SQL;
5. Solte um button (só para teste) e adicione algo como:
IBQuery1.Open; IBQuery1.Append; // Mesmo que insert mas dá um last antes ....
GOSTEI 0
Afarias
16/08/2003
Para tornar um IBQuery editável vc deve associá-lo a um componente IBUpdateSQL (note q aqui -- com IBX -- isso não implica dizer q terá q usar CachedUpdates -- funciona de forma diferente do BDE)
Ou apenas, use um IBDataSet no lugar do IBQuery+IBUpdateSQL.
Mas nunca, nunca use IBTable (ou qualquer outro componente Table em sistemas C/S)
T+
Ou apenas, use um IBDataSet no lugar do IBQuery+IBUpdateSQL.
Mas nunca, nunca use IBTable (ou qualquer outro componente Table em sistemas C/S)
T+
GOSTEI 0
Renaldo
16/08/2003
Os selects sao mole, até então eu não tenho problemas com consulta, só para inserir dados.
Pra vocês terem uma ideia, eu usava access e nem sabia como se usa um table, quando passei para o Interbase, e coloco no meu butao
ibQuery.insert; dá erro, coloco um ibTable e pronto, funciona.
Adúvida é essa.
Crio uma query do tipo INSERT INTO VALUE ou realmente o ibQuery funciona?
Algum exemplo?
Valeu pela força.
Pra vocês terem uma ideia, eu usava access e nem sabia como se usa um table, quando passei para o Interbase, e coloco no meu butao
ibQuery.insert; dá erro, coloco um ibTable e pronto, funciona.
Adúvida é essa.
Crio uma query do tipo INSERT INTO VALUE ou realmente o ibQuery funciona?
Algum exemplo?
Valeu pela força.
GOSTEI 0
Renaldo
16/08/2003
So corrigindo o texto acima:
1- BUTAO BOTAO.
2-Crio uma query do tipo INSERT INTO VALUE ou realmente o ibQuery.insert funciona?
1- BUTAO BOTAO.
2-Crio uma query do tipo INSERT INTO VALUE ou realmente o ibQuery.insert funciona?
GOSTEI 0
Afarias
16/08/2003
Acho q vc não leu minha mensagem anterior.
Leia direitinho q estará no caminho de usar DataSets editáveis com IBX.
T+
Leia direitinho q estará no caminho de usar DataSets editáveis com IBX.
T+
GOSTEI 0
Renaldo
16/08/2003
Valeu a farias, vou tentar.
GOSTEI 0