Indeks bazy danych: wprowadzenie dla początkujących

Indeks bazy danych: wprowadzenie dla początkujących

„Indeks bazy danych” odnosi się do specjalnego rodzaju struktury danych, która przyspiesza pobieranie rekordów z tabeli bazy danych. Indeksy bazy danych zapewniają, że można skutecznie lokalizować i uzyskiwać dostęp do danych w tabeli bazy danych bez konieczności przeszukiwania każdego wiersza za każdym razem, gdy jest przetwarzane zapytanie do bazy danych.





Indeks bazy danych można porównać do indeksu książki. Indeksy w bazach danych wskazują rekord, którego szukasz w bazie danych, podobnie jak strona indeksu książki wskazuje żądany temat lub rozdział.





Jednak chociaż indeksy baz danych są niezbędne do szybkiego i wydajnego wyszukiwania danych i uzyskiwania do nich dostępu, zajmują dodatkowe zapisy i zajmują miejsce w pamięci.





Co to jest indeks?

Indeksy bazy danych to specjalne tabele przeglądowe składające się z dwóch kolumn. Pierwsza kolumna to klucz wyszukiwania, a druga to wskaźnik danych. Klucze to wartości, które chcesz przeszukać i pobrać z tabeli bazy danych, a wskaźnik lub odwołanie przechowuje adres bloku dysku w bazie danych dla tego konkretnego klucza wyszukiwania. Pola kluczowe są posortowane tak, aby przyspieszyć operację pobierania danych dla wszystkich zapytań.

Dlaczego warto korzystać z indeksowania bazy danych?

Pokażę Wam tutaj w uproszczony sposób indeksy bazy danych. Załóżmy, że masz tabelę bazy danych ośmiu pracowników pracujących w firmie i chcesz przeszukać informacje pod kątem ostatniego wpisu w tabeli. Teraz, aby znaleźć poprzedni wpis, musisz przeszukać każdy wiersz bazy danych.



Załóżmy jednak, że posortowałeś tabelę alfabetycznie na podstawie imion pracowników. Tak więc tutaj klucze indeksowania są oparte na kolumnie nazwy. W takim przypadku, jeśli przeszukujesz ostatni wpis, Zack , możesz przeskoczyć na środek tabeli i zdecydować, czy nasz wpis znajduje się przed czy za kolumną.

Jak wiesz, nastąpi to po środkowym rzędzie i możesz ponownie podzielić rzędy po środkowym rzędzie na pół i dokonać podobnego porównania. W ten sposób nie musisz przeszukiwać każdego wiersza, aby znaleźć ostatni wpis.





Gdyby firma miała 1 000 000 pracowników, a ostatnim wpisem był Zack, musiałbyś przeszukać 50 000 wierszy, aby znaleźć jego nazwisko. Natomiast w przypadku indeksowania alfabetycznego można to zrobić w kilku krokach. Teraz możesz sobie wyobrazić, o ile szybsze może być wyszukiwanie i dostęp do danych dzięki indeksowaniu bazy danych.

Związane z: 13 najważniejszych poleceń SQL, które powinien znać każdy programista





Różne metody organizacji plików dla indeksów baz danych

Indeksowanie zależy w dużej mierze od używanego mechanizmu organizacji plików. Zwykle w indeksowaniu bazy danych do przechowywania danych używane są dwa rodzaje metod organizacji plików. Zostały one omówione poniżej:

1. Zamówiony plik indeksu: Jest to tradycyjna metoda przechowywania danych indeksowych. W tej metodzie wartości kluczy są sortowane w określonej kolejności. Dane w uporządkowanym pliku indeksowym można przechowywać na dwa sposoby.

  • Rzadki indeks: W tym typie indeksowania wpis indeksu jest tworzony dla każdego rekordu.
  • Gęsty indeks: W indeksowaniu gęstym dla niektórych rekordów tworzony jest wpis indeksu. Aby znaleźć rekord w tej metodzie, najpierw musisz znaleźć najważniejszą wartość klucza wyszukiwania spośród wpisów indeksu, które są mniejsze lub równe szukanej wartości klucza wyszukiwania.

2. Organizacja pliku skrótu: W tej metodzie organizacji plików funkcja mieszająca określa lokalizację lub blok dysku, w którym przechowywany jest rekord.

Rodzaje indeksowania baz danych

Generalnie istnieją trzy metody indeksowania bazy danych. Oni są:

  • Indeksowanie klastrowe
  • Indeksowanie nieklastrowe
  • Indeksowanie wielopoziomowe

1. Indeksowanie klastrowe

W indeksowaniu klastrowym jeden plik może przechowywać więcej niż dwa rekordy danych. System zachowuje rzeczywiste dane w indeksowaniu klastrowym, a nie wskaźniki. Wyszukiwanie jest opłacalne dzięki indeksowaniu klastrowemu, ponieważ przechowuje wszystkie powiązane dane w tym samym miejscu.

jak się dowiedzieć, kto do ciebie dzwonił

Indeks klastrowy definiuje się na podstawie uporządkowanych plików danych. Również łączenie wielu tabel bazy danych jest bardzo powszechne w przypadku tego typu indeksowania.

Możliwe jest również utworzenie indeksu na podstawie kolumn innych niż podstawowe, które nie są unikatowe dla każdego klucza. W takich przypadkach łączy wiele kolumn, tworząc unikatowe wartości klucza dla indeksów klastrowych.

Krótko mówiąc, indeksy klastrowe polegają na grupowaniu podobnych typów danych i tworzeniu dla nich indeksów.

Przykład: Załóżmy, że istnieje firma, która zatrudnia ponad 1000 pracowników w 10 różnych działach. W takim przypadku firma powinna utworzyć indeksowanie klastrowe w swoim DBMS, aby zindeksować pracowników, którzy pracują w tym samym dziale.

Każdy klaster z pracownikami pracującymi w tym samym dziale będzie zdefiniowany jako pojedynczy klaster, a wskaźniki danych w indeksach będą odnosić się do klastra jako całości.

Związane z: Co to są klucze obce w bazach danych SQL?

2. Indeksowanie nieklastrowe

Indeksowanie nieklastrowe odnosi się do typu indeksowania, w którym kolejność wierszy indeksu nie jest taka sama, jak sposób fizycznego przechowywania oryginalnych danych. Zamiast tego indeks nieklastrowy wskazuje na magazyn danych w bazie danych.

Przykład: Indeksowanie nieklastrowe jest podobne do książki, która ma uporządkowaną stronę treści. W tym przypadku wskaźnik lub odniesienie do danych to uporządkowana strona spisu treści, która jest posortowana alfabetycznie, a rzeczywiste dane to informacje na stronach książki. Strona spisu treści nie przechowuje informacji na stronach książki w ich kolejności.

3. Indeksowanie wielopoziomowe

Indeksowanie wielopoziomowe jest używane, gdy liczba indeksów jest bardzo duża i nie może przechowywać indeksu podstawowego w pamięci głównej. Jak być może wiesz, indeksy bazy danych zawierają klucze wyszukiwania i wskaźniki danych. Wraz ze wzrostem wielkości bazy danych rośnie również liczba indeksów.

Jednak, aby zapewnić szybkie działanie wyszukiwania, rekordy indeksu muszą być przechowywane w pamięci. Jeśli indeks jednopoziomowy jest używany, gdy numer indeksu jest wysoki, jest mało prawdopodobne, aby ten indeks był przechowywany w pamięci ze względu na jego rozmiar i wielokrotny dostęp.

W tym miejscu w grę wchodzi indeksowanie wielopoziomowe. Ta technika dzieli indeks jednopoziomowy na wiele mniejszych bloków. Po rozbiciu blok na poziomie zewnętrznym staje się tak mały, że można go łatwo przechowywać w pamięci głównej.

Związane z: Jak połączyć się z bazą danych MySQL za pomocą Javy

Co to jest fragmentacja indeksu SQL?

Gdy dowolna kolejność stron indeksu nie jest zgodna z kolejnością fizyczną w pliku danych, powoduje fragmentację indeksu SQL. Początkowo wszystkie indeksy SQL są wolne od fragmentacji, ale przy wielokrotnym korzystaniu z bazy danych (wstaw/usuń/zmień dane) może to spowodować fragmentację.

Oprócz fragmentacji bazy danych, Twoja baza danych może również napotkać inne istotne problemy, takie jak uszkodzenie bazy danych. Może to prowadzić do utraty danych i uszkodzenia witryny. Jeśli prowadzisz interesy ze swoją stroną internetową, może to być dla Ciebie śmiertelny cios.

Udział Udział Ćwierkać E-mail Dane programu SQL Server zostały uszkodzone? Spróbuj go odzyskać za pomocą programu SQL Recovery Toolbox

Recovery Toolbox dla SQL Server pomaga naprawić uszkodzone pliki MDF MS SQL Server dla wszystkich wersji.

brak dźwięku w systemie Windows laptopa 10
Czytaj dalej Powiązane tematy
  • Programowanie
  • SQL
  • Analiza danych
  • Baza danych
O autorze Zadhid A. Powell(16 opublikowanych artykułów)

Zadhid Powell jest inżynierem komputerowym, który zrezygnował z kodowania, aby zacząć pisać! Poza tym jest Digital Marketerem, entuzjastą technologii, ekspertem SaaS, czytelnikiem i zapalonym obserwatorem trendów w oprogramowaniu. Często można go znaleźć, jak kołysze na gitarze w klubach w centrum miasta lub dokonuje inspekcji nurkowania na dnie oceanu.

Więcej od Zadhida A. Powella

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować