Lentidão no Acesso aos Dados

Firebird

02/12/2005

Pessoal, criei uma tela de cadastro bem genérica... coloco os eventos de forma que, sirvam pra várias tabelas... então crio os formulários (usando herança) para fazer meus cadastros, alterações, exclusões, ect... de uma tabela.
O caso é que, para algumas tabelas, o sistema parece simplesmente PARAR. Ele demora até 10 segundos para abrir uma tela... e nem mesmo abro o dataset, nesse instante... e mesmo que estivesse abrindo, meus selects são desse tipo: select * from tabela where id = :id, sendo ID um campo chave primária, ou seja, traria apenas 1 registro por vez.
Uso eventos nos botões do tipo:

DsMatriz.Dataset.Append;

onde
DsMatriz = Datasource.

Então após criar cada formulário, atribuo o respectivo Dataset para o datasource (DsMatriz) e já tenho uma tela de cadastro pronta.

Alguém saberia me dizer o motivo dessa lentidão? Já aconteceu com algum de vocês??


Thomaz_prg

Thomaz_prg

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

02/12/2005

bom... quais são seus componentes de conexão? no dbx, a propriedade KeepConnection poderia causar esse pequeno transtorno. se ela estiver como False, quando não houver necesidade da conexão aberta (tabels em uso, etc) a conexão é encerrada, sendo refeita quando for aberta uma nova tabela (o que causa uma certa lentidão no sistema).
setando como True, a conexão será feita pela primeira solicitação e será mantida até o encerramento do programa, independente de terem tabelas abertas ou de serem feitas solicitações ao banco.

de qualquer forma há algo estranho, pois você afirma que ´e nem mesmo abro o dataset, nesse instante´. se você não abre, o problema é outro.


GOSTEI 0
Thomaz_prg

Thomaz_prg

02/12/2005

O problema é que se tiro o dataset, ou seja, se deixo a propriedade dataset do datasource nula, volta ao normal... até mesmo para um simples Insert, o negócio tá parando... Coisa que normalmente não ocorre...


GOSTEI 0
POSTAR