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:
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.