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?
Filtragem de Dados Lenta com Set Filter
Moderador: Moderadores
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
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
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
guidelli
- Usuário Nível 1

- Mensagens: 2
- Registrado em: 09 Mar 2007 18:09
- Localização: Araraquara-SP
- Contato:
Temporários...
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
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
Sem saber que era impossível, foi lá e o fez.
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.
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.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
-
Maurício Elias
- Usuário Nível 3

- Mensagens: 304
- Registrado em: 12 Mai 2005 08:48

