Fórum Filtragem de dados #184595
27/09/2003
0
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
Curtir tópico
+ 0Posts
27/09/2003
Henry Lima
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
27/09/2003
Mmtoor
MMTOOR2003
Gostei + 0
27/09/2003
Werlon Goulart
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
Clique aqui para fazer login e interagir na Comunidade :)