Página 1 de 1
Filtragem de Dados Lenta com Set Filter
Enviado: 09 Mar 2007 17:40
por UKclipper
Olá, pessoal!
Tenho uma base de dados com cerca de 694347 registros e o SET FILTER já está lento demais para a filtragem dos dados. Existe alguma forma mais rápida de filtrar dados no Clipper?
Enviado: 09 Mar 2007 17:49
por Clipper
Sim existem várias formas, você pode criar um Indice com filtro por exemplo :
INDEX ON CODIGO FOR ESTOQUE>100 TO ARQIND
INDEX ON NOME FOR TIPO="MP" TO ARQIND2
Porém...
O ideal seria você usar o driver NSX da SIX3 pois ele te dá muitos recursos de filtragem, nessa área é imbátivel, eu não uso por isso não vou passar maiores detalhes, mas basta fazer uma busca que você irá encontrar muito material. Busque por SIX ou NSX.
Até logo.
Marcelo
Temporários...
Enviado: 09 Mar 2007 18:22
por guidelli
Na empresa que trabalho, havia uma rotina de relatórios que era muuuuito lerda, só que nenhum cliente reclamava pelo fato de estarem acostumados e conformados.
Corria o arquivo todo de contas a receber, pra pegar uma faixa só de contas. Claro que não deve ser o teu caso, mas na minha idéia, pode ser resolvido.
Criei um arquivo temporário através de uma rotina que simplifica isso.. só passo o "escopo" e a rotina me retorna o nome do temporário.
Aliás... essa questão de escopo tem sido discutida por aqui ultimamente, não? Pelo que li, no Clipper5.3 tem o comando "SET SCOPE" que quebra um galhão!!!
Abraços. :xau
Enviado: 09 Mar 2007 21:26
por sygecom
QUAL RDD VC USA

Enviado: 12 Mar 2007 10:29
por gvc
Opções que uso:
Crie um arquivo de índice para atender ao filtro.
ou
Crie um índice com o filtro.
ou
Use o SET SCOPE do 5.3 para trabalhar com o filtro.
ou então
Se o índice depende de várias opções e seu usuário entra com essas opções on-line, estude se vale a pena um índice temporário ou gerar um arquivo temporário.
Boa sorte.
Enviado: 16 Mar 2007 14:26
por Maurício Elias
Colega:
Tire o Set Filter.
Use um índice apropriado para a filtragem principal, o resto vc elimina no If - Skip - Loop
Abraços.
Maurício