ÍNDICES VIRTUALIZADOS NO PROTHEUS

Linha de Produto:

Microsiga Protheus.

Segmento:

Framework

Módulo:

Configurador

Função:

Base de dados

Requisito (ISSUE):PCREQ-10211

  

O recurso do índice virtual do Totvs DBAccess permite que a existência de um índice seja simulada pelo DBAccess. Dessa forma, apesar de o índice não existir fisicamente, é possível utilizar o mesmo através de comandos e funções ADVPL como se fosse um índice real. O recurso estará disponível apenas em ambientes utilizando DBAccess / SQL.

O objetivo dessa abordagem é diminuir a quantidade de índices criados no banco de dados o que pode resultar em aumento de desempenho nas funções de INSERT e UPDATE. Em alguns ambientes, como servidores HEXADATA com banco de dados ORACLE, a ausência de índices pode aumentar significamente a performance de busca (SELECT).

Obviamente, a escolha dos índices que serão virtualizados deve ser feita com muito cuidado. Devem ser selecionados índices pouco usados ou de pouca relevância para o sistema, pois a ausência do índice pode impactar negativamente na performance da consulta de certas chaves no banco de dados.

Este requisito tem por objetivo permitir ao administrador do sistema Protheus escolher quais índices podem ser virtualizados através da ferramenta configurador.

A virtualização não deve afetar o funcionamento do sistema na medida que todos os comandos e funções ADVPL relacionados (dbsetorder,dbseek,indexkey,dbseek,dbskip) e QUERIES devem operar normalmente.

É importante salientar que todas as manutenções de índices deverão ser efetuadas através do módulo configurador. Alterações manuais de índices vão comprometer o mecanismo de virtualização do DBAccess com resultados imprevisíveis.

 

Pré-requisitos para utilização:

 

  • Versão P12, release 7 ou superior
  • Build do binário 7.00.131227A, com data de geração igual ou superior a 01/03/2016
  • DBAccess 20150725, com data de geração igual ou superior a 16/02/2016
  • Atualização da dbapi.dll do Protheus BIN, utilizando a versão atualizada disponibilizada na Build do DBAccess atual.
  • Rotina APCFG10K.PRW com data igual ou superior a 05/04/2016.

 

CRIAÇÃO DE ÍNDICES VIRTUAIS NO SISTEMA PROTHEUS

No módulo configurador, opção “base de dados”, pesquisar a tabela cujo índice deseja virtualizar.  Em nosso exemplo utilizaremos a tabela SE1 de títulos a receber. Clicar em “editar”. Após abertas as opções, selecionar na árvore o item “índices”

 

 

Serão apresentados os índices. Selecionaremos o índice que pretendemos virtualizar (em nosso exemplo a ordem “S”) e clicamos na opção “alterar”. No campo “Virt.usuário” selecionar a opção “1-Sim”

 

 

Confirmar a janela de edição do índice, e confirmar a alteração de índices no botão da barra de botões da janela principal. Para concluir, aplicar as alterações clicando no botão “atualizar base de dados” da barra de botões.

 

 

Se o índice era convencional e foi alterado para virtualizado, o índice será excluído fisicamente do banco de dados e criado internamente no DBAccess como virtualizado.

Se o índice era virtualizado e for alterado para convencional, o mesmo será criado fisicamente quando a primeira referência à tabela for feita pelo sistema.