Jairo Maia escreveu:Apenas para registro: Mesmo em DBF (CDX, NTX ou outro), apenas os dados filtrados é que trafegam na rede.
Creio que você está equivocado. O Clipper é uma ferramenta essencialmente de acesso local. Logo, qualquer manipulação de DBFs e/ou índices (seja do tipo que for) é totalmente feito na máquina em que a aplicação está rodando. Não é possível ter apenas os dados filtrados trafegando pela rede. E note: não importa
onde os arquivos estão hospedados, pois o processamento dos dados só pode ser feito num único local: na aplicação que precisa do resultado desse processamento. Portanto, é essencial que a aplicação tenha acesso a
todos os dados do arquivo.
Aliás, a (obsoleta) tecnologia de acesso local é famosa pelo alto consumo de banda de rede. Por isso sempre se desaconselha o uso de recursos como SET FILTER, por exemplo. O indicado é sempre tentar fazer as consultas pelos índices. Esses arquivos também têm de trafegar pela rede, mas sendo menores, o tempo gasto na pesquisa é menor.
Mas não há como comparar Clipper/DBF/índices com SQL, justamente porque SQL não é uma ferramenta, mas sim uma linguagem que, primordialmente, é utilizada em sistemas gerenciadores de bancos de dados (SGBD), como Firebird, MySQL, etc. Esses gerenciadores sim, processam no servidor os dados conforme a consulta é feita pela aplicação, e fazem trafegar pela rede apenas os dados resultantes desse processamento. Isso diminui o tráfego e aumenta a velocidade. Aliás por SQL ser uma linguagem, ela até pode ser utilizada para fazer consultas a bases DBF. É só uma questão de
interface.
Pelo exposto, dá pra ter uma idéia da vantagem que é migrar dos DBFs para SGBDs. Além da imensa gama de recursos adicionais, a velocidade de trabalho é imensamente maior. A título de ilustração, fiz uma busca no Firebird numa base de CEPs. De propósito pedi o nome do logradouro pelo CEP de uma rua de SP-capital. Foi só o tempo de clicar na busca e o resultado apareceu. Calculo que o Firebird passou por uns 400.000 registros antes de encontrar o alvo. Aliás, separei as bases por UF. Então o Firebird teve de varrer outros 25 Estados (ordem alfabética) até chegar no alvo. Isso diminuiu bastante a velocidade.
