Fórum Locate trava #44866

15/06/2004

0

Olá a todos

Estou enfrentando um problema quando dou um locate em uma IBtable no Delphi 6, o sistema trava.

Já criei indices para facilitar a consulta e não resolveu.

Quando há poucos registros ele consegue buscar normalmente, mas, quando testo com a tabela cheia, aproximadamente 20.000 registros acontece o erro.

Gostaria de saber quais opções eu tenho para não utilizar um locate.

Obrigado

Junior


Fsjunior

Fsjunior

Responder

Posts

15/06/2004

Afarias

|Estou enfrentando um problema quando dou um locate em uma IBtable
|no Delphi 6, o sistema trava.

1) não use TABLEs com sistemas cliente/servidor (como é o caso o IB)

2) um locate fará q todos os registros sejam carregados (o mesmo q um Last ou FetchAll) -- se existem muitos registros na tabela, o sistema pode parar momentâneamente dando uma impressão de estar ´travado´


|Já criei indices para facilitar a consulta e não resolveu.

Índices nào tem qualquer efeito sobre esse tipo de operação. Índices são usados basicamente em expressões WHERE (SQL)


|Quando há poucos registros ele consegue buscar normalmente, mas,
|quando testo com a tabela cheia, aproximadamente 20.000 registros
|acontece o erro.

Como explicado acima!


|Gostaria de saber quais opções eu tenho para não utilizar um locate.

Vc pode usar o Locate mas NÃO use tables -- Substitua por Querys e, NÃO use consultas como ´select * from tabela´ visto q isso seria o mesmo q usar Tables.

Vc não precisa ter os 20000 registros carregados -- essa é a idéia em sistemas C/S. Faça uma consulta com um WHERE ´filtrando´ apenas parte dos registros e sua aplicação ficará *muito* rápida.



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar