Marcelo Silva wrote:

> Ja me disseram para criar indices.. mas não manjo muito em criar 
> indices no DBF com ADS e não posso ficar mexendo na base visto que não 
> foi eu quem criou.
>
> Se alguém tiver algumas de como melhorar a performance em DBF ficarei 
> grato ...
>
Veja este exemplo. A velocidade é a mesma no Clipper ou Delphi
Se você já tem a tabela em DBF basta usar o AddIndexDef como abaixo.

         // Cria Table
         Assembleias := TAdsTable.Create(Self);
         DSAssembleias.DataSet := Assembleias;
         DBCarta.DataField := 'CARTA';

         with Assembleias do
         begin
            If Assembleias.Active then Assembleias.Close;

            TableName := 'Assembleias';
            DatabaseName := sTempDirectory;
            If Assembleias.Exists then Assembleias.DeleteTable;

            TableType := ttAdsNTX;
            FieldDefs.Clear;
            FieldDefs.Add('CD_CON_APT', ftString, 04, False);
            FieldDefs.Add('CD_BLC_APT', ftString, 06, False);
            FieldDefs.Add('CD_APARTAM', ftString, 04, False);
            FieldDefs.Add('CONDICAO', ftString, 1, False);
            FieldDefs.Add('CORREIO', ftBoolean);           
            FieldDefs.Add('CORSIMPREG', ftString, 1, False);
            FieldDefs.Add('NOME', ftString, 35, False);
            FieldDefs.Add('AOSCUI', ftString, 35, False);
            FieldDefs.Add('ENDER', ftString, 40, False);
            FieldDefs.Add('CIDADE', ftString, 20, False);
            FieldDefs.Add('ESTADO', ftString, 2, False);
            FieldDefs.Add('CEP', ftString, 9, False);
            FieldDefs.Add('CARTA', ftMemo, 10, False);
            with IndexDefs do begin
               Clear;
               with AddIndexDef do begin
                  Name := 'Assemb_1';
                  Fields := 'CD_CON_APT + CD_BLC_APT + CD_APARTAM';
                  Options := [ixCaseInsensitive];
               end;
            end;
            CreateTable;
            Open;
         end;

Alfeu


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a