[firebase-br] Banco de dados lento
Fagner Araujo
fagaraujo em yahoo.com.br
Ter Dez 27 11:51:20 -03 2005
Se você ainda não resolveu seu problema, siga o que o Demitre falou, e coloque pelo menos um chave primária na sua tabela. Mesmo assim se você continuar a utilizar o IBTable você ainda terá problema de velocidade. Então troque esse componente pelo IBQuery. A mudança não é muito grande (se for feita em Delphi, o que é o caso):
1 - Troque os componentes IBTable por IBQuery.
2 - Na propriedade SQL do IBQuery coloque um código parecido com SELECT * FROM <TABELA> [ WHERE <CAMPO> = <VALOR> ]
3 - Coloque a propriedade do IBQuery CachedUpdates para True e adicione um componente IBUpdateSQL;
4 - Coloque a propriedade UpdateObject do IBQuery apontando para IBUpdateSQL que você adicionou.
5 - Dé um duplo click no IBUpdateSQL e marque os campos chaves no List Key Field e depois pressione o botão Generate SQL.
6 - Adicione aos eventos AfterDelete e AfterPost do IBQuery o seguinte código: IBDatabase.ApplyUpdates([DataSet]);
7 - Em algum ponto da aplicação lembre-se de abrir a Query com IBQuery.Open semelhante você fazia com IBTable;
Com isso você fez todas as mudanças de IBTable para IBQuery e melhorará em muito seu problema de lentidão.
Esse é apenas uma técnica de acesso a dados chamada Cached Update você poderá optar por outras técnicas. Para maiores informações sobre Cached Update você poderá consultar algum manual da Borland sobre o assunto ou procurar qualquer documento na Internet sobre o tema.
Qualquer dúvida que você precise é só me contactar que posso lhe passar maiores detalhes sobre o esquema.
Fagner Araújo.
Leandro Carbonera <leacarbonera2 em yahoo.com.br> escreveu: Salve lista..........
Tenho um banco de dados interbase com uma tabela de mercadorias com 30.500
registros, rodando num pentium 4 com 512 mb.
Eu utilizo o componente IBTable para acesso a essa tabela, mas esta ficando
muito lento.
Minha duvida é a seguinte, será que as tabelas estão muito cheias e por isso
o sistema esta ficando lento, pois quando dou um refresh na tabela e sistema
tambem pesa bastante........
Alguem já passou por uma situação dessa?????
OBS: Minha tabela de mercadorias não possui chave primaria..... eu controlo
isso pela aplicação
Att.
Leandro Carbonera
Suporte Técnico - RBR Informática
Fone: 54 343 1788
leacarbonera em rbrinformatica.com.br
www.rbrinformatica.com.br
_______________________________________________________
Yahoo! doce lar. Faça do Yahoo! sua homepage.
http://br.yahoo.com/homepageset.html
______________________________________________
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
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
---------------------------------
Yahoo! doce lar. Faça do Yahoo! sua homepage.
Mais detalhes sobre a lista de discussão lista