Taglio della tabella BOLD_CLOCKLOG
-
29-10-2019 - |
Domanda
Sto eseguendo un po 'di manutenzione su un database per un'applicazione che utilizza il framework di persistenza degli oggetti Bold for Delphi.Questo database è in produzione da diversi anni e molte delle tabelle sono diventate piuttosto grandi.Uno di questi è il BOLD_CLOCKLOG
che ha qualcosa a che fare con la gestione delle transazioni di Bold.
Voglio tagliare questa tabella (è fino a 1,2 GB, con voci da gennaio 2006).
Qualcuno può confermare che il sistema non ha bisogno di queste vecchie informazioni?
Soluzione
Bold_ClockLog è una tabella facoltativa, il suo scopo è memorizzare la mappatura tra timestamp interi e valori DateTime corrispondenti.
Questo ti permette di scoprire la data e l'ora dell'ultima modifica a qualsiasi oggetto.
Se non hai bisogno di questa funzione, sentiti libero di svuotare la tabella, non causerà alcun problema.
Oltre a Bold_ClockLog, Bold_XFiles è un'altra tabella opzionale che tende a diventare grande.Ma a differenza di Bold_ClockLog, Bold_XFiles non può essere svuotato.
Entrambe queste tabelle possono essere attivate / disattivate nei valori dei tag del modello.
Altri suggerimenti
Dalla documentazione audace:
Bold_ClockLog
Per essere in grado di mappare i numeri di transazione utilizzati nelle colonne timestamp nel tempo fisico corrispondente (come 2001-01-01 12:34) il Mapper della persistenza memorizzerà un registro con timestamps e orari. Normalmente, questo registro è scritto per ogni operazione del database, ma se il traffico verso il database è molto intenso, è possibile limitare la frequenza con cui questo registro è scritto impostando la proprietà ClocklogLogranularità. L'evento OngetCurrentTime dovrebbe anche essere implementato per garantire che tutti i client abbiano lo stesso tempo. L'utilizzo di questa tabella può essere controllato con il valore taggato: modello.useclocklog
Quindi ritengo che questo sia usato per il versioning di grassebjects, vedere Object Entriling Extension Extension in Bold Documentazione. Se la tua applicazione non è necessaria, puoi rilasciarlo nel database.
Nella nostra applicazione audace non usiamo quella funzione. Perché semplicemente testare semplicemente per disattivare Bold_ClockLog nel modello, lascia cadere quella grande tabella e prova a utilizzare la tua applicazione. Sono abbastanza sicuro che se qualcosa non va, allora lo dice così.
Posso anche menzionare che abbiamo un personale personalizzato. È semplicemente una stringa grande (come tstringlist.delimetedtext) in una classe di oggetti che ha tempo, utente e una nota sull'azione. Questo si adatta al nostro bisogno di meglio che Bolds ha costruito l'oggetto. Lo svantaggio è ovviamente che dobbiamo aggiungere chiamate nel codice quando si effettua la registrazione della cronologia.