sábado, fevereiro 12, 2011

Find no Adabas

FIND (1) EMPREGADOS           WITH

SU-DEPARTAMENTO             GE          'COMPRAS'  AND

SU-DEPARTAMENTO             LE          'FINANCEIRO'
Para um programa que lista somente os empregados dos setores entre Compras e Financeiro, o Find acima funciona legal, né? Se for para poucos registros realmente poderia falar que funciona bem, mas se forem muitos registros, lamento informar mas a CPU que esse FIND irá consumir sera absurdamente grande, a melhor pesquisa seria:
FIND (1) EMPREGADOS           WITH

SU-DEPARTAMENTO             EQ          'COMPRAS'  THRU        'FINANCEIRO'
Esse consumo de CPU acontece porque para o primeiro exemplo de Find o Adabas irá na lista invertida, montará 2 listas na WORK, uma contendo a seleção dos registros com departamento maiores ou iguais a Compras e outra com os registros menores ou iguais a Financeiro, e após essa seleção ele fará uma intersecção e verificará quais os registros que atendem a ambas as condições, a ainda ordenará por ISN; já para o segundo exemplo de Find o trabalho é bem menor, apenas uma lista é gerada com os descritores que estejam no range e a ordenção por ISN é efetuada.

Original - Clique Aqui

0 comentários:

Enviar um comentário