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

Get table fragmentation

Get table fragmentation ( aTabela ) -> Resultado

ParâmetroTipoDescrição
aTabelaTabela🡒Tabela para a qual obter a taxa de fragmentação
ResultadoReal🡐Porcentagem de fragmentação

Descrição

O comando Get table fragmentation retorna o percentual de fragmentação lógica para os registros da tabela designada pelo parâmetro aTabela.

A taxa de fragmentação lógica dos registros indica se os registros são armazenados de forma ordenada no arquivo de dados. Se a fragmentação se torna demasiado elevada, isso pode desacelerar consideravelmente as buscas seqüenciais sobre a tabela. A porcentagem de fragmentação 0 corresponde à ausência de fragmentação. Além de uma taxa de 20%, pode ser útil compactar os dados do arquivo.

Exemplo

Este método lhe permite requisitar a compactação do arquivo de dados no caso em que haja discrepâncias consideráveis em pelo menos uma tabela do banco de dados:

 ToBeCompacted:=False
 For($i ;1;Get last table number)
    If(Is table number valid($i))
       If(Get table fragmentation(Table($i)->)>20)
          ToBeCompacted:=True
       End if
    End if
 End for
 If(ToBeCompacted)
  // Coloca um marcador de pedido de compactação
 End if

Ver também

Compact data file