Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    Database enormi di access

    Ho un database di access in cui metto, tolgo, elimino e modifico in continuazione dei dati con un programma in VB6 (da me stesso fatto).

    Il database diventa di proporzioni abbastanza grandi, ma ho notato che se entro nel db tramite access ed elimino a mano i dati, le dimensioni di quest'ultimo non diminuiscono...

    Database pieno e database vuoto hanno quasi lo stesso peso, però se lo "ricreo" con le stesse tabelle vuoto, pesa pochi kb.

    Perchè e come posso risolvere?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Lo devi compattare; in effetti anche i dati cancellati non sono "davvero cancellati" (fino a quando non lo compatti) e quindi il file ti rimane grande anche se le tabelle sono quasi vuote
    Lo puoi fare da Access (mi sembra sia strumenti - utilità database - compatta database) oppure esistono in rete moltissimi esempi di come farlo via codice (per esempio da una pagina web o in vbs, etc)

    http://www.google.it/search?sourceid...atabase+access

  3. #3
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    E sai il perchè di questo strano sistema?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    In un altro forum ho trovato questo...

    Access uses 2K pages to store data. The database is expanded as needed to create these 2K pages for storing data. If a page is completely emptied the page is marked as FREE and added to a FREE LIST that access checks for storing data (reuse). If the FREE LIST is empty (or some lower limit unknown to me), Access grabs more space and creates FREE pages. FREE pages are not returned to the OS for reuse (reclaimed). Only compacting the DB will restore the FREE pages to the OS. Of course a Compact is really a copy of the DB rather than a release of the FREE PAGES. Once compacted Access leaves some FREE pages (I have not seen how many) and if you use them up, it adds more. Oracle and Sqlserver work on the same concept
    I think Compacting is not needed unless you did some BIG one time things in the DB, or a whole bunch of small things (fragmented pages result with a bunch partially filled). I usually compact about once or twice a year just to limit page fragmentation.

  5. #5
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Insomma... boh!
    L'importante è che funzioni
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.