Condividi tramite


File sparse

Un file in cui gran parte dei dati è zero viene detto che contiene un set di dati di tipo sparse . I file come questi sono in genere molto grandi, ad esempio un file che contiene i dati dell'immagine da elaborare o una matrice all'interno di un database ad alta velocità. Il problema con i file che contengono set di dati di tipo sparse è che la maggior parte del file non contiene dati utili e, per questo motivo, è un uso inefficiente dello spazio su disco.

La compressione dei file nel file system NTFS è una soluzione parziale al problema. Tutti i dati nel file non scritti in modo esplicito vengono impostati in modo esplicito su zero. La compressione dei file compatta questi intervalli di zeri. Tuttavia, uno svantaggio della compressione dei file è che il tempo di accesso può aumentare a causa della compressione dei dati e della decompressione.

Il supporto per i file sparse viene introdotto nel file system NTFS come un altro modo per rendere più efficiente l'utilizzo dello spazio su disco. Quando la funzionalità dei file di tipo sparse è abilitata, il sistema non alloca spazio su disco rigido a un file tranne nelle aree in cui contiene dati diversi da zero. Quando si tenta di eseguire un'operazione di scrittura in cui una grande quantità di dati nel buffer è pari a zero, gli zeri non vengono scritti nel file. Il file system crea invece un elenco interno contenente i percorsi degli zeri nel file e questo elenco viene consultato durante tutte le operazioni di lettura. Quando un'operazione di lettura viene eseguita in aree del file in cui si trovano zeri, il file system restituisce il numero appropriato di zeri nel buffer allocato per l'operazione di lettura. In questo modo, la manutenzione del file sparse è trasparente per tutti i processi che vi accedono ed è più efficiente della compressione per questo particolare scenario.

Il valore predefinito dei dati di un file sparse è zero; Tuttavia, può essere impostato su altri valori.

Per altre informazioni sui file di tipo sparse, vedere gli argomenti seguenti.

In questa sezione

Argomento Descrizione
operazioni di file di tipo sparse
Determinare se un file system supporta i file sparse chiamando la funzione GetVolumeInformation.
ottenere le dimensioni di un di file di tipo sparse
Ottenere le dimensioni allocate o le dimensioni totali per un file usando la GetCompressedFileSize o la funzione GetFileSize.
quote di file e dischi di tipo sparse
Un file sparse influisce sulle quote utente in base alla dimensione nominale del file, non alla quantità effettiva di spazio su disco allocata.