Glesa filer
En fil där mycket av data är nollor sägs innehålla en gles datauppsättning. Filer som dessa är vanligtvis mycket stora, till exempel en fil som innehåller bilddata som ska bearbetas eller en matris i en databas med hög hastighet. Problemet med filer som innehåller glesa datauppsättningar är att majoriteten av filen inte innehåller användbara data och därför är de en ineffektiv användning av diskutrymme.
Filkomprimering i NTFS-filsystemet är en partiell lösning på problemet. Alla data i filen som inte är uttryckligen skrivna anges uttryckligen till noll. Filkomprimering komprimerar dessa intervall med nollor. En nackdel med filkomprimering är dock att åtkomsttiden kan öka på grund av datakomprimering och dekomprimering.
Stöd för glesa filer introduceras i NTFS-filsystemet som ett annat sätt att göra diskutrymmesanvändningen mer effektiv. När glesa filfunktioner är aktiverade allokerar systemet inte hårddiskutrymme till en fil förutom i regioner där den innehåller icke-nolldata. När en skrivåtgärd görs där en stor mängd data i bufferten är nollor skrivs inte nollorna till filen. I stället skapar filsystemet en intern lista som innehåller platserna för nollorna i filen, och den här listan konsulteras under alla läsåtgärder. När en läsåtgärd utförs i områden i filen där nollor fanns returnerar filsystemet lämpligt antal nollor i bufferten som allokerats för läsåtgärden. På så sätt är underhållet av den glesa filen transparent för alla processer som har åtkomst till den och är effektivare än komprimering för just det här scenariot.
Standardvärdet för data för en gles fil är noll. Det kan dock anges till andra värden.
Mer information om glesa filer finns i följande avsnitt.
I det här avsnittet
Ämne | Beskrivning |
---|---|
Sparse File Operations |
Avgör om ett filsystem stöder glesa filer genom att anropa funktionen GetVolumeInformation. |
Hämta storleken på en sparse-fil |
Hämta den allokerade storleken eller den totala storleken för en fil med hjälp av antingen funktionen GetCompressedFileSize eller funktionen GetFileSize. |
sparse-filer och diskkvoter |
En gles fil påverkar användarkvoter efter den nominella storleken på filen, inte den faktiska allokerade mängden diskutrymme. |