| Termin | Definicja |
|---|---|
| Indeksy | Indeksy to zbiorcze określenie struktur przyspieszających wyszukiwanie danych w tabelach bazy danych. Rola indeksów w bazie danychIndeksy to dodatkowe struktury danych powiązane z tabelami bazy danych. Przechowują wartości wybranych kolumn w uporządkowanej albo specjalnie zorganizowanej postaci oraz informacje pozwalające odnaleźć odpowiadające im wiersze. Dzięki temu silnik bazy danych może ograniczyć liczbę rekordów odczytywanych podczas wyszukiwania. Bez użytecznego indeksu często konieczne jest wykonanie pełnego skanowania tabeli, czyli sprawdzenia kolejnych wierszy aż do znalezienia pasujących danych. Indeks nie jest drugą, niezależną kopią tabeli przeznaczoną do bezpośredniej edycji. Silnik utrzymuje go razem z tabelą i aktualizuje podczas dodawania, zmiany lub usuwania rekordów. Najczęściej indeks zawiera klucz złożony z jednej lub kilku kolumn oraz odwołanie do konkretnego wiersza. W wielu relacyjnych systemach baz danych podstawową strukturą indeksu jest drzewo B, które umożliwia sprawne wyszukiwanie wartości, porównywanie zakresów i sortowanie wyników. Dobór kolumn i rodzajów indeksówIndeks może obejmować jedną kolumnę albo kilka kolumn. Indeks wielokolumnowy jest przydatny, gdy zapytania regularnie filtrują dane według ustalonego zestawu pól, na przykład najpierw według identyfikatora klienta, a następnie według daty utworzenia zgłoszenia. Kolejność kolumn w takim indeksie ma znaczenie, ponieważ silnik zwykle najlepiej wykorzystuje jego początkowy fragment. Indeks rozpoczynający się od kolumny Indeksy unikatowe wymuszają, aby dana wartość albo kombinacja wartości nie powtarzała się w tabeli. Klucz główny jest szczególnym ograniczeniem integralności i w popularnych relacyjnych silnikach zwykle korzysta z indeksu. Indeks częściowy lub filtrowany, zależnie od konkretnego systemu, może obejmować tylko rekordy spełniające określony warunek, na przykład wiersze oznaczone jako aktywne. Do innych zastosowań służą między innymi indeksy tekstowe, przestrzenne oraz indeksy przeznaczone dla danych zapisanych w określonych typach struktur, lecz ich dostępność i składnia zależą od używanego silnika bazy danych. Wpływ indeksów na zapytania i modyfikacjeIndeks może znacząco skrócić odczyt zapytania filtrującego po kolumnie, sortującego wyniki lub łączącego tabele po kluczu. Nie jest jednak gwarancją szybszego wykonania. Optymalizator analizuje między innymi warunki zapytania, rozkład wartości, szacowaną liczbę pasujących wierszy i koszt odczytu. Jeżeli większość tabeli spełnia warunek, odczyt indeksu, a następnie pobieranie rekordów z tabeli może być droższe niż pełne skanowanie. Funkcje wykonywane na kolumnie, niejawne konwersje typów i wyrażenia niezgodne z układem indeksu również mogą ograniczyć jego wykorzystanie. Każdy indeks zajmuje miejsce na dysku i zwiększa koszt operacji modyfikujących dane. Podczas Problemy z wydajnością mogą wynikać także z nieaktualnych statystyk, niekorzystnego rozkładu danych, fragmentacji lub niewłaściwego typu indeksu. Diagnoza wymaga sprawdzenia planu wykonania, czasu zapytania, liczby odczytanych stron lub bloków oraz częstotliwości modyfikacji tabeli. Usunięcie indeksu powinno być poprzedzone analizą zależności i obserwacją obciążenia, ponieważ rzadko używana struktura może być potrzebna podczas okresowych raportów albo operacji administracyjnych. Indeksy w praktyce serwisowejW aplikacji obsługującej zgłoszenia serwisowe indeksy mogą wspierać wyszukiwanie po numerze zlecenia, identyfikatorze urządzenia, statusie naprawy lub dacie przyjęcia. Prawidłowy projekt zależy od zapytań wykonywanych przez program. Jeżeli formularz wyszukuje dokładny numer zlecenia, odpowiedni indeks na tej kolumnie może ograniczyć odczyt do pojedynczego rekordu. Jeżeli ekran pokazuje ostatnie zgłoszenia danego klienta, korzystniejszy może być indeks wielokolumnowy obejmujący identyfikator klienta i datę, z kolejnością dopasowaną do warunku oraz sortowania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może również sprawdzić, czy problemy z lokalną aplikacją wynikają z błędnych zapytań, nieprawidłowej konfiguracji lub przeciążenia komputera. Sama obecność indeksów w bazie nie zastępuje kopii zapasowej ani poprawnej kontroli spójności danych. Przed przebudową, zmianą lub usunięciem indeksu należy zachować możliwość odtworzenia konfiguracji i zweryfikować działanie programu na reprezentatywnym zbiorze danych. |