Alleggerimento DB

di il
3 risposte

Alleggerimento DB

Ciao, ho ereditato un database che e' ormai diventato ricco di dati inutili o ridondanti.

Semplificando, il database veniva alimentato con
- acquisti materia prima (ID certificato materia prima, fornitore, data, quantita', PDF certificato materia prima)
- prelievi materia prima per il processo produttivo (Articolo prodotto, data, quantita' utilizzata, ID certificato materia prima)

Scopo principale era di associare prelievo di materia prima a certificato di materia prima; con una query (su data e codice articolo - il lotto di produzione non e' ancora alimentato) si ricerca il PDF del certificato associato e con un click si stampa l'allegato.

Oggi mi ritrovo un database che contiene tutti gli allegati relativi agli acquisti di materia prima effettuati, la dimensione supera i 1,6 GB e la query di recerca funziona a rilento.

Per ridurre lo spazio vorrei eliminare i record (e gli allegati collegati) che non mi interessa piu' avere nel database.

Ho creato un campo sulla tabella acquisti di materia prima, che mi consente di filtrare le righe che voglio tenere, da quelle che voglio eliminare (circa 6800 righe su 9000). Ho creato una query di eliminazione, ma dopo averla fatta eseguire il database va in blocco.

Avete qualche idea piu' brillante o qualche consiglio?

grazie
Paolo

3 Risposte

  • Re: Alleggerimento DB

    Elimina il campo Allegato. Sostituiscilo con un campo di tipo Testo in cui scrivi dentro un path che ti riconduce all'allocamento del corrispondente file pdf in una opportuna cartella. Con una maschera puoi associare l'evento DoppioClic sul campo AllegatoPDF per poterlo aprire sfruttando l'istruzione in VBA FollowHyperlink.
    Anche un Compatta/Ripristina database non gli farebbe male.
  • Re: Alleggerimento DB

    Francamente 9000 record sonon un'inezia! Io sono arrivato a gestire 100.000 record in JOIN senza problemi di sorta.
    Da quello che scrivi sembra invece che il problema risieda in una cattiva progettazione della tabella, in questo caso controllerei prima di tutto gli indici.

    In ogni caso, senza conoscere né le proprietà dei campi delle due tabelle, né la query di cui parli, non è possibile ipotizzare nulla.

  • Re: Alleggerimento DB

    Le proprieta' della tabella incriminata (quella che contiene gli allegati) sono
    IDRD - AutoNumber
    BundleNr - Text
    Data - Date/Time
    Weight - Number
    Size - Number
    Certif -Text
    IdMat - Number
    IdSup - Number
    RDAttached - Text
    Flag - Number

    Ho controllato l'indicizzazione e mi sembra corretta, ogni tabella ha una propria chiave primaria di tipo "AutoNumber".

    Ho creato una copia del DB e provato a eliminare completamente il campo allegato, dopo il primo salvataggio non si era alleggerito di molto, tuttavia riaprendolo e compattandolo ora la dimensione e' di soli 44 MB.

    Se invece eseguo la compattazione su copia originale non ottengo miglioramenti evidenti.
Devi accedere o registrarti per scrivere nel forum
3 risposte