Pergunta

Estou fazendo alguma manutenção em um banco de dados para um aplicativo que usa a estrutura de persistência de objetos Bold for Delphi.Este banco de dados está em produção há vários anos e várias tabelas cresceram bastante.Um deles é o BOLD_CLOCKLOG o que tem algo a ver com o gerenciamento de transações do Bold.

Quero cortar esta tabela (ela tem até 1,2 GB, com entradas de janeiro de 2006).

Alguém pode confirmar que o sistema não precisa dessas informações antigas?

Foi útil?

Solução

Bold_ClockLog é uma tabela opcional, seu objetivo é armazenar o mapeamento entre carimbos de data e hora inteiros e valores DateTime correspondentes.

Isso permite que você descubra a data e hora da última modificação em qualquer objeto.

Se você não precisa desse recurso fique à vontade para esvaziar a mesa, isso não causará problemas.

Além de Bold_ClockLog, Bold_XFiles é outra tabela opcional que tende a crescer muito.Mas, diferentemente do Bold_ClockLog, o Bold_XFiles não pode ser esvaziado.

Ambas as tabelas podem ser ativadas/desativadas nos valores da tag do modelo.

Outras dicas

Da documentação em negrito:

BOLD_CLOCKLOG

Para poder mapear os números de transação usados ​​nas colunas TimeStamp para o horário físico correspondente (como 2001-01-01 12:34), o mapeador de persistência armazenará um log com carimbos de data e hora.Normalmente esse log é gravado para cada operação do banco de dados, mas se o tráfego para o banco de dados for muito intenso, é possível restringir a frequência de gravação desse log configurando a propriedade ClockLogGranularity.O evento OnGetCurrentTime também deve ser implementado para garantir que todos os clientes tenham o mesmo horário. O uso desta tabela pode ser controlado com o valor marcado:Modelo.UseClockLog

Então acredito que isso seja usado para versionamento de Boldobjects, veja Extensão de versionamento de objetos em negrito documentação.Se o seu aplicativo não precisar disso, você pode colocá-lo no banco de dados.

Em nosso aplicativo Bold não usamos esse recurso.Por que simplesmente não testar para desligar o Bold_ClockLog no modelo, descartar aquela grande tabela e tentar usar seu aplicativo.Tenho certeza de que se algo estiver errado, diga isso imediatamente.

Também posso mencionar que temos uma história de objeto personalizada própria.É simplesmente uma string grande (como TStringList.DelimetedText) em uma classe ObjectHistory que possui Time, user e uma nota sobre a ação.Isso atende melhor às nossas necessidades do que Bolds incorporou o histórico de objetos.A desvantagem é que precisamos adicionar chamadas no código quando o registro no histórico for feito.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top