Novo recurso
A partir da versão 12.1.5 existe um novo recurso que faz a criação de arquivos temporários no banco de dados, o que traz diversos benefícios para sua solução.
Veja alguns motivos e vantagens em Arquivos temporários no SGBD.
Arquivos e índices temporários devem ser utilizados com cuidado, pois podem gerar um tempo de resposta longo enquanto estão sendo construídos.
No caso de índices temporários, o processamento da rotina é bem mais rápido (após a sua geração), mas de qualquer forma, sempre dê preferência à utilização dos índices-padrão do sistema ou de querys.
Utiliza as funções:
CriaTrab
Criatrab(cAlias,.F.) -> Cria somente um arquivo de índice temporário
Criatrab(cAlias,.T.) - > Cria um arquivo de dados e um arquivo de índice temporário (a criação do índice temporário não é obrigatória).
IndRegua
Cria efetivamente o índice, a partir do arquivo já criado com a CriaTrab.
Exemplo:
Para criar dois índices temporários:
// IndReguaSample.prw
DbSelectArea("SE1")
cIndex := CriaTrab(Nil, .F.)
cIndex2 := CriaTrab(Nil, .F.)
cChave := IndexKey()
IndRegua("SE1", cIndex, "E1_FATURA+E1_NUM+E1_SERIE", , , "Selecionando Registros...")
IndRegua("SE1", cIndex2, "E1_NUM", , , "Selecionando Registros...")
nIndex := RetIndex("SE1")
DbSelectArea("SE1")