Re: Indeksowanie dysku NTFS

Autor: Marek Janaszewski /USUN_TO. z adresu!/ <USUN_TO.j_marek_at_gazeta.pl>
Data: Mon 14 Jun 2004 - 00:45:33 MET DST
Message-ID: <cajugc$80f$4@achot.icm.edu.pl>
Content-Type: text/plain; charset="iso-8859-2"

W wiadomości: cag164$b0u$1@io.pol-net.com.pl,
Luk@s <x@wp.pl> napisał(a):
>> No to fakt, mam to ustrojstwo wylaczone, ale do czegos przeciez
>> sluzy no nie ? ;-)
>
> Usługa indeksowania tworzy indeksy zawartości i właściwości
> dokumentów, znajdujących się na lokalnym dysku. Pomaga to w szybszym
> wyszukiwaniu plików(za pomocą menu start-wyszukaj-pliki lub foldery).
> Ale jak napisałem wcześniej spowalnia to system i nie polecam
> indeksowania.

Witam!

Może trochę więcej o indeksowaniu. Są różne algorytmy szukania, zacznijmy od
liniowego (wyczerpujący). Oznacza on, że należy przeszukać wszystkie
elementy aby znaleźć właściwy. Najgorszy jest przypadek, kiedy w
przeszukiwanym zbiorze nie ma właściwego elementu, aby to stwierdzić na
pewno trzeba przeszukać wszystko, nie można liczyć że coś trafi wcześniej.
Są algorytmy bardziej sprytne, np. wyszukiwanie binarne. Generalnie te
algorytmy wykorzystują fakt, że zbiór jest posortowany albo dostępna jest
dodatkowo struktura. Ta struktura to indeks. Indeks może właśnie być
reprezentacją posortowanego zbioru, ewentualnie coś z algorytmami
mieszającymi (haszującymi). Haszowanie wykorzystane jest także w podpisie
elektronicznym, ale to jest cała grupa algorytmów. Indeksy są zwykle
organizowane w drzewa, także nawet nie trzeba całego załadować do pamięci
operacyjnej z dysku do przetwarzać. Przeszukiwanie binarne to prosty
przypadek, w którym zbiór zwykle jest cały w pamięci operacyjnej i jest on
posortowany. Odczytuje się element z połowy zbioru i porównuje czy jest
mniejszy od szukanego. Jeśli tak to tą pierwsza połówkę dzieli znowu na pól,
itd. W efekcie złożoność tego algorytmu jest mniejsza niż n-elementów jak w
pierwszym przypadku.

Indeksowanie to bardzo ważna sprawa, generalnie sortowanie. Ale nie dzieje
się ono bez kosztu. W bazach danych zwykle oznacza to spowolnienie każdej
operacji aktualizacji bazy danych. Trzeba go przebudować. Ponad to indeks
zajmuje miejsce na dysku. Jeśli chodzi o pamięć operacyjną to chyba nie jest
to takie złe. Natomiast gwałtownie przyspiesza wyszukiwanie.

Usługa indeksowania nie spowalnia zapisu, za to zbiera informacje o plikach
okresowo kiedy komputer ma "wolny czas". Raczej nie powinna specjalnie
spowalniać uruchamiania komputera. Nie bardziej niż inne usługi ładowane na
starcie. Natomiast ponieważ to jest okresowa przebudowa indeksu wyniki jej
odpowiedzieć nie muszą być zawsze aktualne, sam się o tym przekonałem. Np.
podobnie działa indeksowanie bazy serwera pocztowego Lotus Notes (Domino).

Jak już mamy NTFS w temacie to dodam, że FAT stosuje wyszukiwane liniowe
nazwy pliku w swojej tabeli plików. A NTFS stosuje wyszukiwanie binarne (czy
coś podobnego). Zatem przetwarzanie dużych list plików powinno być szybsze,
kosztem sortowania nazwa plików.

Osobiście mam usługę indeksowania wyłączoną. Nie czytałem rad innych na ten
temat. Wyłączyłem ją ze względu na to, że wyniki jej pracy nie zawsze są
aktualne. Czasem trzeba było chwilkę poczekać. Natomiast czasem sobie myślę,
że może by się ona przydało włączyć. Krócej by się czekało szukając pliku na
coraz większych dyskach. Sama usługa w czasie normalniej pracy nie powinna
przeszkadzać. No może jeśli to jest jakiś serwer.

Jeśli rzadko szukanie jest wykorzystywane to na pewno można ją sobie
darować. Zdaje się, że ukryty katalog System Volume Informaction jest przez
nią wykorzystywany.

P.S. Tego typu algorytmy powinny być znane każdemu zawodowemu informatykowi,
studentowi informatyki.

-- 
Pozdrawiam,
Marek Janaszewski
[ j_marek@gazeta.pl ]
Received on Mon Jun 14 12:30:22 2004

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Mon 14 Jun 2004 - 12:42:05 MET DST