Performance

Discussão em 'Progress 4GL' iniciado por ds201, Dezembro 24, 2014.

  1. ds201

    ds201 Membro Participativo

    Boa noite

    Tenho uma rotina de De/Para, ela é composta por muitos programas com a estrutura semelhante (veja anexos).

    O cenário é o seguinte:
    - O campo usado para fazer a seleção não é indexado.
    - A tabela é grande.
    - Os registros alterados são menos de 1% do total.
    - Há preocupação com o travamento de registros pois o ambiente possui muitos usuários logados.

    Na primeira versão (dpbb0605__ini.p) não usei buffer. Houve problema de travamento.
    Na segunda versão (dpbb0605__atu.p) já com buffer, os problema de travamento de registro foram minimizados.

    Minha duvida é a seguinte:
    Há algo que possa ser melhorado no código do programa (dpbb0605__atu.p) para melhorar o desempenho?
    Não tenho como incluir índices nos bancos da TOTVS...

    Obrigado
    [Feliz Natal para todos nós]

    Arquivos Anexados:

  2. don.junior

    don.junior Membro Participativo

    DS201, na tabela "movto-tag" existe mais de um registro com o mesmo "cd-planejado" ? se não, já pensou em trocar o for each pelo find ? do contrário o código com buffer é a melhor opção.
  3. ds201

    ds201 Membro Participativo

    Bom dia

    Na tabela "movto-tag" existem vários registros com o mesmo "cd-planejado".
    Vou ficar com o "buffer".

    Nota: Este programa faz parte de um De/Para de usuário, que é usado quando o "login" do usuário é alterado...

    Obrigado por responder.
    Sds

Compartilhe esta Página