Saltar para o conteúdo principal
Versão: Próximo

PAUSE INDEXES

PAUSE INDEXES ( aTabela )

ParâmetroTipoDescrição
aTabelaTabela🡒Tabela para a qual parar os índices

Descrição

O comando PAUSE INDEXES desativa temporariamente todos os índices de aTabela, exceto o índice da chave primária .

Os índices não se eliminam fisicamente dos dados (arquivo .4DIndx) ou da estrutura da base ( _USER_INDEXES, ver Tabelas sistema), mas são inválidos e portanto não se atualizam. Quando os índices estão desativados, todas as operações realizadas em aTabela (pesquisas, ordens, adições, modificações e eliminações de registros) já não utilizam os índices.

Este comando é especialmente útil quando é importado ou modificado grandes quantidades de dados em tabelas que têm vários índices. Como 4D deve atualizar os índices cada vez que um registro é validado, a operação poderia tomar uma quantidade considerável de tempo. Desativar os índices de antemão permite acelerar significativamente a operação.

Para reativar os índices depois de terminada a operação, pode chamar ao comando RESUME INDEXES para aTabela.

Nota:** Pode obter um resultado similar utilizando os comandos CREATE INDEX e DELETE INDEX, mas com diferenças:

  • é necessário chamar a DELETE INDEX / CREATE INDEX para cada índice emTabela.

  • chamar aos comandos DELETE INDEX / CREATE INDEX muda o número interno do índice, o que não ocorre com PAUSE INDEXES / RESUME INDEXES. Mudar o número de índice gerará uma reindexação automática dos dados se o conjunto de dados mudar.

É chamado o comando PAUSE INDEXES para uma tabela e logo sai da base sem ter chamado ao comando RESUME INDEXES para esta tabela, todos os índices da tabela são reconstruídos automaticamente quando reiniciada a base.

Nota: Este comando não pode ser executado desde um 4D remoto.

Exemplo

Exemplo de método de importação massivo de dados:

 PAUSE INDEXES([Articles])
 IMPORT DATA("HugeImport.txt") //Importing
 RESUME INDEXES([Articles])

Ver também

DELETE INDEX
RESUME INDEXES