[firebase-br] LOCATE

Jeferson Oliveira jefersonfoliveira em gmail.com
Qua Mar 28 12:06:00 -03 2007


Otto Fuchshuber escreveu:
> Pergunta de alguém de fora, que já usou o C++ Builder (usa o mesmo framework
> do Delphi): porque não faz a pesquisa em SQL?

A pesquisa em SQL é o método mais recomendado, pois retornará para a
aplicação somente os registros que atendam ao filtro especificado, o
que representa ganho de performance, organização do projeto, entre
outros benefícios.

No entanto, vejo pelo menos duas situações nas quais o uso do método
Locate é muito útil:

1) A query retornou somente os ddos realmente desejados, mas é
necessário encontrar (normalmente para posicionar o cursor em um
registro que será visualizado pelo usuário) dentre os registros
retornados algum que atenda a um outro critério específico. Poderia
utilizar outra pesquisa diretamente ao banco? Sim. Mas muitas vezes de
acordo com o modelo da aplicação esse caminho pode afetar a
performance.

2) Se um conjunto de dados é pequeno, e nele é necessário realizar
pesquisas constantemente, muitas vezes pode ser muito cômodo mantê-lo
em memória e localizar nele os registros ao invés de realizar nova
consulta ao banco de dados.

As duas situações são muito comuns em aplicações distribuídas em
camadas, especialmente quando a camada servidora está em um local da
internet, rede na qual a velocidade é crítica e, portanto, ser
econômico nas consultas ao banco pode ser essencial para a boa
performance da aplicação.



Abraço!
Jeferson Oliveira




Mais detalhes sobre a lista de discussão lista