| Termin | Definicja |
|---|---|
| Usuwanie indeksu | Usuwanie indeksu poleceniem DROP INDEX zwalnia zajmowane przez niego miejsce kosztem wolniejszych odczytów. Co oznacza usunięcie indeksu w bazie danychUsuwanie indeksu polega na usunięciu dodatkowej struktury danych utworzonej przez system zarządzania bazą danych dla jednej lub kilku kolumn tabeli. Indeks przechowuje uporządkowane informacje pozwalające szybciej odnaleźć wiersze spełniające warunek zapytania. Nie jest jednak głównym źródłem danych: rekordy nadal pozostają w tabeli, o ile osobno nie wykonano operacji usuwającej dane. Polecenie usunięcia indeksu usuwa więc mechanizm przyspieszający wybrane operacje, a nie zawartość tabeli. W środowiskach stosujących składnię SQL operacja jest zwykle wykonywana poleceniem Dlaczego po DROP INDEX odczyt może działać wolniejIndeks pozwala silnikowi ograniczyć liczbę stron danych odczytywanych podczas wyszukiwania, sortowania lub łączenia tabel. Jeżeli zapytanie filtruje rekordy po kolumnie objętej indeksem, optymalizator może wybrać odczyt struktury indeksowej zamiast pełnego przeglądania tabeli. Po usunięciu indeksu taka możliwość znika. Silnik może wtedy wykonać skan tabeli, czyli sprawdzić większą liczbę rekordów, aby znaleźć te spełniające warunek. Skutek jest zależny od rozmiaru tabeli, liczby zwracanych wierszy, selektywności warunku oraz aktualnego planu wykonania. Mała tabela może być przeglądana szybko nawet bez indeksu, ponieważ koszt pełnego skanu pozostaje niewielki. W dużej tabeli brak indeksu może natomiast zwiększyć czas odczytu i obciążenie urządzenia pamięci masowej. Usunięcie indeksu może także pogorszyć wydajność sortowania, grupowania lub operacji łączenia, jeżeli dany indeks był przydatny przy realizacji tych czynności. Kiedy zwolnienie miejsca uzasadnia usunięcie indeksuKażdy indeks zajmuje miejsce w bazie danych i wymaga utrzymywania dodatkowych struktur podczas zmian rekordów. Przy dodawaniu, modyfikowaniu lub usuwaniu danych silnik może aktualizować także indeksy powiązane ze zmienionymi kolumnami. Zbyt duża liczba nieużywanych albo nakładających się indeksów może więc zwiększać rozmiar bazy oraz koszt operacji zapisu. Usunięcie zbędnego indeksu może ograniczyć ten narzut, ale nie powinno być wykonywane wyłącznie na podstawie jego rozmiaru. Przed decyzją warto sprawdzić, czy indeks jest używany przez rzeczywiste zapytania, czy nie wspiera klucza głównego, ograniczenia unikalności albo innej zależności wymaganej przez silnik. Należy także porównać plany wykonania i czasy zapytań przed oraz po zmianie, najlepiej na danych i obciążeniu zbliżonym do produkcyjnego. Indeks utworzony dla kolumny rzadko wykorzystywanej w filtrach może być kandydatem do usunięcia, lecz indeks używany przez zapytania wykonywane cyklicznie może powodować zauważalne spowolnienie po usunięciu. Bezpieczne sprawdzenie skutków na laptopie lub komputerzeW przypadku bazy używanej przez aplikację na laptopie lub komputerze PC operację należy poprzedzić kopią zapasową albo inną możliwością odtworzenia poprzedniej konfiguracji. Przed wykonaniem Po usunięciu należy uruchomić najważniejsze zapytania aplikacji i sprawdzić ich czas wykonania, obciążenie procesora, wykorzystanie pamięci oraz aktywność dysku. Jeżeli odczyty wyraźnie zwolnią, można odtworzyć indeks zgodnie ze składnią używanego silnika. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz ich podzespołów, dlatego przy problemach z lokalnym środowiskiem bazodanowym można zlecić sprawdzenie stanu sprzętu, dysku i konfiguracji systemu wpływających na pracę aplikacji. |