| Termin | Definicja |
|---|---|
| Rozmiar indeksu | Rozmiar indeksu rośnie wraz z liczbą kolumn i wierszy objętych strukturą, wpływając na miejsce na dysku. Co oznacza rozmiar indeksu w bazie danychRozmiar indeksu to ilość miejsca zajmowana przez strukturę pomocniczą utworzoną dla jednej lub kilku kolumn tabeli. Indeks przechowuje wartości używane do wyszukiwania oraz informacje pozwalające odnaleźć odpowiadające im wiersze. W zależności od silnika bazy danych może mieć postać uporządkowanej struktury drzewa, tablicy skrótów albo innego mechanizmu dostępu. Sama tabela pozostaje podstawowym zbiorem danych, natomiast indeks jest dodatkową strukturą utrzymywaną obok niej. Na wielkość indeksu wpływa przede wszystkim liczba zapisów w tabeli, długość wartości indeksowanych kolumn oraz liczba kolumn objętych indeksem. Indeks dla kolumny zawierającej krótkie liczby zwykle zajmuje mniej miejsca niż indeks dla długich napisów. W indeksie wielokolumnowym zapisywane są informacje dotyczące całego klucza złożonego z kilku pól, dlatego jego rozmiar może być wyraźnie większy niż rozmiar indeksu obejmującego tylko jedną kolumnę. Do tego dochodzą metadane, wskaźniki, strony dyskowe oraz wolne miejsce pozostawione na późniejsze modyfikacje. Elementy zwiększające zajętość miejscaNajbardziej bezpośrednim czynnikiem jest liczba wierszy objętych indeksem. Jeżeli tabela rośnie, indeks zazwyczaj również rośnie, ponieważ dla nowych rekordów trzeba dopisać kolejne wpisy. Rozmiar nie zawsze zwiększa się idealnie proporcjonalnie do liczby wierszy. Silnik może przydzielać przestrzeń całymi stronami, dzielić strony podczas wstawiania danych albo pozostawiać niewykorzystane miejsce, aby ograniczyć częstotliwość reorganizacji struktury. W rezultacie usunięcie części rekordów nie musi natychmiast zmniejszyć rozmiaru pliku indeksu. Znaczenie ma także typ danych i rzeczywista długość wartości. Kolumna tekstowa może przechowywać wartości o różnej długości, a indeks może zawierać dodatkowe informacje potrzebne do rozróżnienia rekordów. Indeks obejmujący kilka kolumn przechowuje klucz złożony, więc każda kolejna kolumna zwiększa ilość danych przypadającą na wpis. W niektórych rozwiązaniach indeks może również zawierać kolumny dołączone lub uwzględniane wyłącznie po to, aby zapytanie mogło zostać obsłużone bez odczytu pełnego wiersza tabeli. Takie rozszerzenie zwiększa zajętość, ale może zmniejszyć liczbę operacji odczytu. Rozmiar indeksu a szybkość operacjiIndeks może przyspieszyć wyszukiwanie, sortowanie i łączenie danych, ponieważ pozwala ograniczyć liczbę odczytywanych stron tabeli. Nie jest jednak bezpłatnym dodatkiem. Przy każdym wstawieniu, usunięciu lub zmianie wartości objętej indeksem silnik musi zaktualizować także odpowiednią strukturę indeksową. Im więcej indeksów posiada tabela, tym więcej pracy może wymagać modyfikacja jednego rekordu. Duże indeksy zwiększają również zapotrzebowanie na miejsce na dysku oraz mogą powodować większy ruch wejścia i wyjścia podczas tworzenia kopii, odtwarzania lub przebudowy struktur. Ocena indeksu nie powinna opierać się wyłącznie na jego rozmiarze. Mały indeks może być mało użyteczny, jeżeli zapytania nie filtrują danych po jego kolumnach. Z kolei większy indeks może być uzasadniony, gdy często obsługuje warunki wyszukiwania albo sortowanie dużej tabeli. Przy analizie należy sprawdzić plan wykonywania zapytań, częstotliwość odczytów i modyfikacji oraz stopień wykorzystania indeksu. Warto także odróżnić zajętość logiczną od fizycznej: struktura może zawierać wolne miejsce lub być rozproszona na stronach, co wpływa na efektywność dostępu, nawet gdy liczba rekordów się nie zmieniła. Sprawdzanie zajętości i postępowanie serwisoweRozmiar indeksów sprawdza się narzędziami właściwymi dla używanego silnika bazy danych, ponieważ sposób raportowania przestrzeni, stron i fragmentacji różni się między produktami. Pomiar powinien obejmować nazwę tabeli, nazwę indeksu, liczbę rekordów oraz zajętość danych i indeksów. Samo odczytanie rozmiaru pliku nie wskazuje jeszcze, która struktura zajmuje miejsce ani czy jej rozmiar jest uzasadniony. Przed usuwaniem indeksu trzeba potwierdzić, że nie jest wymagany przez zapytania, ograniczenia integralności lub mechanizmy aplikacji. W komputerze użytkownika nadmierny rozmiar plików baz danych i indeksów może zmniejszać ilość wolnego miejsca, wydłużać operacje tworzenia kopii oraz pogarszać działanie programu korzystającego z lokalnej bazy. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego podczas diagnostyki można sprawdzić stan nośnika, ilość wolnego miejsca, błędy systemu plików oraz wpływ obciążenia dysku na pracę aplikacji. Prawidłowa ocena wymaga rozdzielenia problemu zajętości indeksu od problemów sprzętowych, takich jak uszkodzony dysk, przegrzewanie lub niewystarczająca pamięć operacyjna. |