Ho un catalogo al lavoro e voglio risvegliarlo un po 'perché sono stanco di essere estremamente lento. Vorrei supportare il metodo di archiviazione trasversale degli alberi preordinati modificato per l'albero delle categorie del catalogo, ma dovrei supportare il versionning precedente.
Ho pensato di creare versioni di alberi in base alle date, quindi non appena qualcosa cambia, creo una copia dell'albero alla data corrente e poi creo le mie modifiche. Ma il problema è che un'importazione di un catalogo che si verifica ogni notte creerebbe, a lungo raggio, una tabella estremamente pesante di elementi di attraversamento degli alberi. In combinazione con il fatto che un utente potrebbe andare e modificare una data in qualsiasi momento nell'amministratore, potrebbe quindi generare nuovamente un'altra versione ad albero.
La maggior parte dei nostri cataloghi è composta da 100-250 categorie, quindi alcune versioni non creerebbero più di qualche migliaio di elementi, ma mischiarlo a un anno di operazione, che potrebbe facilmente arrivare a 90000 voci solo per archiviare il albero che può cambiare.
Quindi la mia domanda è questa:
Esiste un modo per implementare un metodo di attraversamento rapido degli alberi (preferibilmente preorder modificato con colonne sinistra e destra) che supporterebbe il versioning datato?