Filtragem de dados

Delphi

27/09/2003

Tenho um sistema desenvolvido e rodando em uma empresa de venda de livros em três computadores.
Acontece que as consultas só se realizam de maneira rápida no computador onde o sistema foi enstalado. Nos outros terminais a pesquisa funciona pior do que uma tartaruga.

O que posso fazer para agilizar essa pesquisa. Estou utilizando uma Query..

Agradeço antecipadamente à todos que puderem me ajudar.


Aloísio Santos
aloisiosantos@bol.com.br


Pro-luck

Pro-luck

Curtidas 0

Respostas

Henry Lima

Henry Lima

27/09/2003

Você pode limitar o resultado das pesquisas, fazendo dessa maneira
ex.:

query.sql.clear;
query.sql.add(´select (campos) from <tabela> where <campo> like ´+quotedstr(´string´)+´ limit 0,30´);
query.execsql;
query.open;

Usando limi 0,30, você estará apresentando somente os primeiros 30 registros da pesquisa, isso pode agilizar um pouco mas nao resolve seu problema. Te aconselharia reformular seu banco de dados ou até mesmo troca-lo.


GOSTEI 0
Mmtoor

Mmtoor

27/09/2003

Não sei se já está, porém, seria aconselhavel que o sistema estivesse instalado em cada estação buscando a base de dados no servidor.
MMTOOR2003


GOSTEI 0
Werlon Goulart

Werlon Goulart

27/09/2003

Para melhor performance em QUALQUER banco de dados use os indices para acelerar a consulta.

Por exemplo (na forma geral...)

SELECT * FROM TABELA
é mais lento que
SELECT * FROM TABELA WHERE CODIGO>0
Pois declarando uma restricao na consulta pelo campo Codigo (q deve ser chave...) o indice sera usado e na primeira consulta o indice sera desprezado e sera realizada uma leitura sequencial de ´cima´ em ´baixo´ no banco.

Teste no proprio IBConsole e vc ira ver a diferenca de performance.
Mas existem varias precaucoes pra poder tirar o maximo do IB.
Usar a Metodologia Cliente/Servidor é uma delas, fazendo q todo o trabalho seja executado no Servidor, que, teoricamente, é uma maquina mais poderosa e com discos mais rapidos, e tb so requisitar os registros q te interessam (pra que retornar todos os registros se o cliente q vc quer é o de codigo 123 ???) e por ai vai....

E outra coisa.... APOSENTE AS TABLES... ELAS SAO OTIMAS PRA PARADOX, DBASE..... MAS PRA INTERBASE SAO A PERDICAO DE QQUER SISTEMA.

Tem um tutorial de como fazer o InterBase ´Gritar´ bem interessante ... aqui no ClubeDelphi... Nao deixe de dar uma olhada...

UM abraco
Werlon Goulart


GOSTEI 0
POSTAR