Wskaźniki są zasadniczo wymagane do skutecznego egzekwowania ograniczeń integralności i wydajnego przetwarzania zapytań i transakcji. Są one tworzone na tabelach i widokach. Na przykład indeksy używane w książkach, które ułatwiają użytkownikowi szybki dostęp do zawartości książki, podobnie mamy indeksy na SQL.
Wykres porównania
Podstawa do porównania | Indeks klastrowy | Indeks nieklastrowy |
---|---|---|
Podstawowy | Określa kolejność przechowywania wierszy w tabeli jako całości. | Określa kolejność przechowywania wierszy w tabeli za pomocą oddzielnej struktury fizycznej. |
Liczba indeksów dozwolonych dla tabeli | Tylko jeden indeks klastrowy | Wiele indeksów nieklastrowych |
Dostęp do danych | Szybciej | Wolniej w porównaniu do indeksu klastrowego |
Dodatkowe miejsce na dysku | Nie są potrzebne | Wymagane do przechowywania indeksów osobno |
Definicja wskaźnika klastrowanego
Indeks klastrowany służy do porządkowania wierszy w tabeli. Tabela może mieć tylko jeden indeks klastrowany, ponieważ wiersze w tabeli można sortować tylko w jednej kolejności, ale istnieją sposoby tworzenia złożonego indeksu klastrowego . Kolumny są zawarte w indeksie klastrowym, a logiczna lub indeksowana kolejność wartości kluczy jest taka sama, jak fizycznie przechowywana kolejność odpowiednich wierszy. Gdy nie ma indeksu klastrowanego dla danych, jest on przechowywany w stercie .
Dostęp do rekordu w sterty jest bardzo czasochłonny, gdzie każdy wpis w tabeli jest skanowany w celu uzyskania dostępu do żądanych danych. W skanie tabeli nie było możliwości sprawdzenia, czy dostępnych jest więcej dopasowań czy nie. Tak więc ta metoda była bardzo nieefektywna.
Podczas korzystania z indeksu klastrowego dostęp do danych jest szybszy i systematyczny, gdy tabela jest uporządkowana w określonej kolejności. Jest zdefiniowany w polu porządkowym tabeli. Używany jest klucz wyszukiwania określający sekwencyjne rozmieszczenie pliku lub tabeli. Indeks klastrowany jest tworzony automatycznie po zdefiniowaniu klucza podstawowego dla tabeli.
Definicja indeksu nieklastrowego
Indeks nieklastrowy przechowuje dane w jednym miejscu i indeksuje w innym miejscu, a indeks zawiera wskaźniki do miejsca przechowywania danych. Tabela może mieć wiele indeksów nieklastrowych, ponieważ indeks w indeksie nieklastrowanym jest przechowywany w innym miejscu. Na przykład książka może mieć więcej niż jeden indeks, jeden na początku, który pokazuje zawartość książki mądrej i inny indeks na końcu, który pokazuje indeks terminów w kolejności alfabetycznej.
Jest on zdefiniowany w polu nie zamawiania tabeli. Indeks nieklastrowy może poprawić wydajność zapytań, które używają kluczy innych niż klucze podstawowe. Indeks nieklastrowy jest tworzony automatycznie po zdefiniowaniu unikalnego klucza dla tabeli.
Kluczowe różnice między indeksem klastrowym i nieklastrowym
- Liczba indeksu klastrowanego, który może mieć tabela, wynosi tylko jeden. Podczas gdy tabela może mieć wiele indeksów nieklastrowych.
- Indeks klastrowy jest szybszy niż indeks nieklastrowy, ponieważ indeks nieklastrowy musi odnosić się do tabeli podstawowej. Wręcz przeciwnie, nie ma to miejsca w indeksie klastrowym.
- W indeksie nieklastrowym indeks jest przechowywany w oddzielnej lokalizacji, co wymaga dodatkowej przestrzeni dyskowej. Natomiast indeks klastrowany przechowuje dane tabeli podstawowej w tej samej fizycznej kolejności, co logiczna kolejność indeksu, więc nie wymaga dodatkowej przestrzeni dyskowej.
Wniosek
Indeks klastrowy jest sposobem przechowywania danych w wierszach tabeli w określonej kolejności. Tak więc, gdy poszukiwane dane są przeszukiwane, tylko odpowiedni wiersz zostaje zmieniony i zawiera dane i jest reprezentowany jako wynik. Z drugiej strony, indeks nieklastrowy znajduje się w fizycznie oddzielnej strukturze, która odwołuje się do danych podstawowych podczas wyszukiwania. Struktura nieklastrowa może mieć inną kolejność sortowania.