Udostępnij za pośrednictwem


Pliki rozrzedłe

Plik, w którym większość danych to zera, mówi się, że zawiera rozrzedzona zestaw danych. Pliki takie jak te są zwykle bardzo duże, na przykład plik zawierający dane obrazu do przetworzenia lub macierz w szybkiej bazie danych. Problem z plikami zawierającymi rozrzedliwe zestawy danych polega na tym, że większość plików nie zawiera przydatnych danych, a z tego powodu są nieefektywnym użyciem miejsca na dysku.

Kompresja plików w systemie plików NTFS jest częściowym rozwiązaniem problemu. Wszystkie dane w pliku, które nie są jawnie zapisywane, są jawnie ustawione na zero. Kompresja plików kompaktuje te zakresy zer. Jednak wadą kompresji plików jest to, że czas dostępu może wzrosnąć z powodu kompresji danych i dekompresji.

Obsługa rozrzedniejszych plików jest wprowadzana w systemie plików NTFS jako inny sposób na zwiększenie wydajności użycia miejsca na dysku. Po włączeniu funkcji rozrzedzonych plików system nie przydziela miejsca na dysku twardym do pliku, z wyjątkiem regionów, w których zawiera dane niezerowe. Gdy próba zapisu polega na tym, że duża ilość danych w buforze wynosi zero, zera nie są zapisywane w pliku. Zamiast tego system plików tworzy wewnętrzną listę zawierającą lokalizacje zer w pliku, a ta lista jest konsultowana podczas wszystkich operacji odczytu. Gdy operacja odczytu jest wykonywana w obszarach pliku, w których znajdowały się zera, system plików zwraca odpowiednią liczbę zer w buforze przydzielonym do operacji odczytu. W ten sposób konserwacja pliku rozrzednia jest niewidoczna dla wszystkich procesów, które uzyskują do niego dostęp, i jest wydajniejsza niż kompresja dla tego konkretnego scenariusza.

Domyślna wartość danych pliku rozrzednego wynosi zero; można go jednak ustawić na inne wartości.

Aby uzyskać więcej informacji na temat rozrzednych plików, zobacz następujące tematy.

W tej sekcji

Temat Opis
operacje na plikach rozrzednych
Ustal, czy system plików obsługuje pliki rozrzedłe, wywołując funkcję GetVolumeInformation.
uzyskiwanie rozmiaru pliku rozrzednego
Pobierz przydzielony rozmiar lub całkowity rozmiar pliku przy użyciu GetCompressedFileSize lub funkcji GetFileSize.
plików rozrzednych i przydziałów dysków
Plik rozrzedowany wpływa na przydziały użytkowników według nominalnego rozmiaru pliku, a nie rzeczywistej przydzielonej ilości miejsca na dysku.