[firebase-br] Filtrar a cada tecla digitada

Otto Fuchshuber ottofuch em terra.com.br
Seg Dez 18 10:14:46 -03 2006


Vou filosofar bobagens.
O sucesso do Google está na rapidez com que localiza e recupera os dados
procurados. O segredo do Google é um algoritmo que acelera muito a pesquisa,
e a indexação prévia de uma grande quantidade de dados nos quais depois
podem ser feitas pesquisas.

Na pesquisa incremental, provávelmente a pesquisa é feita num único campo
(coluna). Então o negócio é preparar esta coluna para a pesquisa, criando-se
uma tabela só com dois campos: o da pesquisa, e o endereço em que estão as
linhas selecionadas, localizadas através de um like. Uma cópia dessa tabela
auxiliar poderia ser trazida para a memória, em todo ou em parte.

Fim da bobagem.
[]´s
Otto
----- Original Message ----- 
From: "Jeferson Oliveira" <jefersonfoliveira em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, December 18, 2006 8:39 AM
Subject: Re: [firebase-br] Filtrar a cada tecla digitada


Ivan Guimarães Meirelles escreveu:
> O colega Saulo mencionou que o programa anterior faz a busca da forma que
o
> Cliente quer... e o mesmo é bem rápido...

O programa anterior usa Access como base de dados, e não um banco de
dados relacional. Qualquer comparação entre os casos eu considero um
equívoco, pois tratam-se de situações muito distintas.


> Assim a demora será apenas ao carregar a grid... depois disso a busca pela
> grid é bem rápida...

Eu entendo e concordo que dessa forma a dor é menor, mas ainda assim
não será um processo indolor.


> Eu uso esse recurso... tenho uma tabela com 1.785.000 registros
> aproximadamente (relação de notas fiscais emitidas)... quando o cliente
quer
> buscar alguma nota eu peço que seja informado o período... assim diminui a
> quantidade de registros que vai para grid... depois na própria grid o
> cliente faz a busca tecla por tecla... e é muito rápido...

Aqui a situação já melhora, pois houve um filtro prévio. É claro que
ele pode informar um período de 100 anos, nesses casos seria
interessante avisá-lo da possível demora para retornar tantos
registros.


> não sei se há esse recurso no Delphi

Dá sim. Com um edit.


A questão maior para mim está em entender a diferença entre um BANDO
de dados (Access, Paradox, etc.) e um BANCO de dados (Firebird por
exemplo).

Entendo bem a dificuldade de migrar de uma estrutura "rápida" e
encontrar resistência por parte dos clientes.
Trabalhei em uma empresa que tinha um sistema em Paradox. Até aí tudo bem, o
problema é que o sistema começou a vender muito, e as bases de dados
crescendo e corrompendo e a equipe de suporte quase que só por conta de
ficar reestruturando tabelas corrompidas. Quando iniciei o projeto de
migração para banco de dados, esbarrei no mesmo problema das telas de
pesquisas. Com o Paradox o usuário via todos os registros e fazia uma busca
incremental, muito rápida. Argumentei da importância de mudar o modo
de pesquisa, mas não consegui convencer a diretoria da empresa. Quando
começaram a tentar utilizar vários componentes mágicos para tentar
resolver esse problema ví que ali não era lugar para mim. Desisti do
projeto e pedi demissão.

Fui para outra empresa em situação semelhante, de novo a resistência para
mudança na tela de pesquisa, mas dessa vez consegui ser convincente.
Migramos para Firebird, e o nível de satisfação dos clientes com o sistema
aumentou bastante.
O período de adaptação dos clientes à nova forma de pesquisa foi difícil,
mas pergunta pra equipe de suporte ou mesmo para os clientes se algum deles
quer voltar ao modelo anterior. :D


Abraço!
Jeferson Oliveira

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 15/12/2006 / Versão:
4.4.00/4920
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista