Duvida Escolha explicita de indice em uma leitura

Discussão em 'Progress 4GL' iniciado por ds201, Julho 8, 2014.

  1. ds201

    ds201 Membro Participativo

    Boa tarde

    Não sei se vale a pena, na leitura de uma tabela, definir explicitamente o índice a ser usado.
    Fico com a impressão de que na maioria das vezes escolho o índice mas por habito que por necessidade.

    O Progress tem capacidade de escolher o melhor índice, levando em consideração os campos usados no WHERE, a ordem em que eles foram escritos no WHERE e os índices disponíveis para a tabela em questão.

    Qual a opinião dos senhores sobre este assunto?

    Sds
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Bom dia, eu gosto de explicitar o índice a ser utilizado.
    Meus índices são criados pensando nas pesquisas que serão realizadas pelas aplicações. Penso nas aplicações como um todo, banco, índices, campos, pesquisas.
    Eu foco o desenvolvimento de aplicações com alguns pontos chave:
    1. Estas app deverão ser construídas e executadas da forma mais rápida possível,
    2. Nada de código em gatilhos de write/delete,
    3. Somente códigos persistentes.
    4. Transações pequenas,
    5. Utilizar cláusula FIELDS sempre que possível,
    6. Se possível, usar appserver, que é mais potente que uma estação client.
    7. Imagens sempre em pasta local do cliente e PROPATH devidamente configurado para localizar esta pasta local.
    Estas regras tem me servido bem :D

    Abraço.
  3. ds201

    ds201 Membro Participativo

    Boa noite

    Concordo que esta é uma lista de boas praticas bem robusta.

    Minha duvida surgiu do fato que raramente crio uma tabela. Geralmente uso as tabelas do TOTVS11.
    Neste cenário não há muito que fazer quanto aos índices.

    Obrigado
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    kkkk e seu eu disser que adicionar índices em tabelas não altera CRC?
    Mas o programa deverá ser recompilado para usar este índice criado.

    PS. Infelizmente, não é permitido fazer qualquer manutenção no dicionário do produto.

    Forte abraço.
  5. Eilleen

    Eilleen Membro Ativo

    Boa tarde!

    Não gosto, nem costumo usar escolha de índice, por um único motivo.
    Como bem explicado, o Progress escolhe o melhor índice com base nos campos usados na busca. Então se em algum momento for criado um novo índice na tabela que atenda melhor a uma pesquisa, não será necessário um "retrabalho" para re-escolher índices nas pesquisas já codificadas.

    ;)
    Agnaldo curtiu isso.
  6. ds201

    ds201 Membro Participativo

    Obrigado a todos pela participação.

Compartilhe esta Página