Oto kilka porad od kogoś ze środowiska, w którym mamy foldery zawierające dziesiątki milionów plików.
- Folder przechowuje informacje o indeksie (łącza do plików podrzędnych i folderu podrzędnego) w pliku indeksu. Ten plik będzie bardzo duży, jeśli masz dużo dzieci. Pamiętaj, że nie rozróżnia między dzieckiem, które jest folderem, a dzieckiem, które jest plikiem. Jedyną różnicą jest to, że zawartość tego dziecka jest albo indeksem folderu dziecka, albo danymi pliku dziecka. Uwaga: nieco to upraszczam, ale o to chodzi.
- Plik indeksu zostanie pofragmentowany. Gdy zostanie zbyt pofragmentowany, nie będzie można dodawać plików do tego folderu. Wynika to z faktu, że dozwolona jest liczba fragmentów. To jest z założenia. Potwierdziłem to w firmie Microsoft w zgłoszeniu do pomocy technicznej. Więc chociaż teoretyczny limit liczby plików, które możesz mieć w folderze, to kilka miliardów, powodzenia, gdy zaczniesz bić dziesiątki milionów plików, ponieważ najpierw uderzysz w ograniczenie fragmentacji.
- Jednak nie jest tak źle. Możesz użyć narzędzia: contig.exe do defragmentacji tego indeksu. Nie zmniejszy to rozmiaru indeksu (który może osiągnąć nawet kilka koncertów dla dziesiątek milionów plików), ale możesz zmniejszyć liczbę fragmentów. Uwaga: Narzędzie Defragmentacja dysku NIE defragmentuje indeksu folderu. Defragmentuje dane pliku. Tylko narzędzie contig.exe defragmentuje indeks. FYI: Możesz go również użyć do defragmentacji danych pojedynczego pliku.
- Jeśli wykonasz defragmentację, nie czekaj, aż osiągniesz maksymalną liczbę limitów fragmentów. Mam folder, w którym nie mogę defragmentować, ponieważ czekałem, aż będzie za późno. Mój następny test to próba przeniesienia niektórych plików z tego folderu do innego folderu, aby sprawdzić, czy mogę go wtedy zdefragmentować. Jeśli to się nie powiedzie, musiałbym 1) utworzyć nowy folder. 2) przenieś partię plików do nowego folderu. 3) defragmentuj nowy folder. powtarzaj # 2 i # 3, aż to zrobisz, a następnie 4) usuń stary folder i zmień nazwę nowego folderu, aby pasował do starego.
Aby odpowiedzieć bardziej bezpośrednio na twoje pytanie: Jeśli patrzysz na 100 000 wpisów, nie martw się. Idź się znokautować. Jeśli patrzysz na dziesiątki milionów wpisów, to albo:
a) Zaplanuj podzielenie ich na podfoldery (np. powiedzmy, że masz 100 mln plików. Lepiej jest przechowywać je w 1000 folderach, aby mieć tylko 100 000 plików na folder niż przechowywać je w 1 dużym folderze. To utworzy 1000 indeksów folderów zamiast jednego dużego, który z większym prawdopodobieństwem przekroczy limit liczby fragmentów lub
b) Zaplanuj regularne uruchamianie contig.exe, aby defragmentować indeks dużego folderu.
Przeczytaj poniżej tylko, jeśli się nudzisz.
Rzeczywisty limit nie dotyczy liczby fragmentów, ale liczby rekordów segmentu danych, który przechowuje wskaźniki do fragmentu.
Więc masz segment danych, który przechowuje wskaźniki do fragmentów danych katalogu. Dane katalogu przechowują informacje o podkatalogach i pod-plikach, które rzekomo przechowywano w katalogu. W rzeczywistości katalog niczego nie „przechowuje”. To tylko funkcja śledzenia i prezentacji, która przedstawia iluzję hierarchii dla użytkownika, ponieważ sam nośnik pamięci jest liniowy.