Utwórz indeks klastrowy na SQL Server

Utwórz indeks klastrowy na SQL Server
Indeksy odgrywają kluczową rolę w bazach danych. Działają jako indeksy w książce, umożliwiając wyszukiwanie i zlokalizowanie różnych przedmiotów i tematów w książce. Indeksy w bazie danych działają podobnie i pomagają przyspieszyć prędkość wyszukiwania rekordów przechowywanych w bazie danych. Utwórz indeks klastrowy na serwerze SQL jest wyjaśniony w tym artykule.

Indeksy odgrywają kluczową rolę w bazach danych. Działają jako indeksy w książce, umożliwiając wyszukiwanie i zlokalizowanie różnych przedmiotów i tematów w książce. Indeksy w bazie danych działają podobnie i pomagają przyspieszyć prędkość wyszukiwania rekordów przechowywanych w bazie danych.

Wskaźniki klastrowane są jednym z typów indeksu na SQL Server. Służy do zdefiniowania kolejności, w ramach której dane są przechowywane w tabeli. Działa to poprzez sortowanie rekordów na stole, a następnie przechowywanie.

W tym samouczku dowiesz się o indeksach klastrowych w tabeli i jak zdefiniować indeks klastrowy na serwerze SQL.

Indeksy klastrowe SQL Server

Zanim zrozumiemy, jak utworzyć indeks klastrowy w SQL Server, dowiedzmy się, jak działają indeks.

Rozważ przykładowe zapytanie poniżej, aby utworzyć tabelę za pomocą podstawowej struktury.

Utwórz bazę danych produkt_inventory;
Użyj produktu_inventory;
Utwórz zapasy tabeli (
Id int not null,
Product_name Varchar (255),
cena int,
ilość int
);

Następnie wstaw przykładowe dane do tabeli, jak pokazano w zapytaniu poniżej:

Wstaw do inwentaryzacji (ID, nazwa_produktu, cena, ilość) Wartości
(1, „Smart Watch”, 110.99, 5),
(2, „MacBook Pro”, 2500.00, 10),
(3, „Winter Coats”, 657.95, 2),
(4, „biuro biurowe”, 800.20, 7),
(5, „lutowanie żelaza”, 56.10, 3),
(6, „Phone Tratod”, 8.95, 8);

W powyższej tabeli przykładowej nie ma ograniczenia klucza podstawowego zdefiniowanego w jego kolumnach. Stąd SQL Server przechowuje rekordy w nieuzasadnionej strukturze. Ta struktura jest znana jako stos.

Załóżmy, że musisz wykonać zapytanie, aby zlokalizować określony rząd w tabeli? W takim przypadku zmusi SQL Server do zeskanowania całej tabeli, aby zlokalizować rekord pasujący.

Rozważmy na przykład zapytanie.

Wybierz * z zapasów, gdzie ilość = 8;

Jeśli użyjesz szacowanego planu wykonania w SSMS, zauważysz, że zapytanie skanuje całą tabelę, aby zlokalizować pojedynczy rekord.

Chociaż wydajność nie jest zauważalna w małej bazie danych jako powyższa, w bazie danych z ogromną liczbą rekordów, zapytanie może zająć więcej czasu.

Sposobem na rozwiązanie takiego przypadku jest użycie indeksu. Istnieją różne typy indeksów na serwerze SQL. Jednak skupimy się głównie na indeksach klastrowych.

Jak wspomniano, indeks skupiony przechowuje dane w sortowanym formacie. Tabela może mieć jeden indeks skupiony, ponieważ możemy sortować dane tylko w jednej logicznej kolejności.

Indeks skupiony wykorzystuje struktury B-drzewa do uporządkowania i sortowania danych. Umożliwia to wykonywanie wkładek, aktualizacji, usuwania i większej liczby operacji.

Zauważ w poprzednim przykładzie; Tabela nie miała klucza podstawowego. Stąd SQL Server nie tworzy żadnego indeksu.

Jeśli jednak utworzysz tabelę z ograniczeniem klucza podstawowego, SQL Server automatycznie tworzy indeks klastrowy z kolumny klucza podstawowego.

Zobacz, co się stanie, gdy tworzymy tabelę z ograniczeniem klucza podstawowego.

Utwórz zapasy tabeli (
Id int not zerowy klucz podstawowy,
Product_name Varchar (255),
cena int,
ilość int
);

Jeśli ponownie włączysz zapytanie i użyjesz szacowanego planu wykonania, zobaczysz, że zapytanie używa indeksu klastrowego jako:

Wybierz * z zapasów, gdzie ilość = 8;

W SQL Server Management Studio możesz wyświetlić dostępne indeksy tabeli, rozszerzając grupę indeksów, jak pokazano:

Co się stanie, gdy dodasz ograniczenie klucza podstawowego do tabeli zawierającej indeks skupiony? SQL Server zastosuje ograniczenie w indeksie niezbadanym w takim scenariuszu.

SQL Server Utwórz indeks klastrowy

Możesz utworzyć indeks klastrowy za pomocą instrukcji Utwórz klaster indeksu na serwerze SQL. Jest to głównie używane, gdy tabela docelowa nie ma ograniczenia kluczowego kluczowego.

Na przykład rozważ następującą tabelę.

Tabela upuszczania, jeśli istnieje zapasy;
Utwórz zapasy tabeli (
Id int not null,
Product_name Varchar (255),
cena int,
ilość int
);

Ponieważ tabela nie ma klucza podstawowego, możemy ręcznie utworzyć indeks klastrowy, jak pokazano w pytaniu poniżej:

Utwórz klastrowane indeks ID_INDEX w Inwentaryzacji (ID);

Powyższe zapytanie tworzy klasterowy indeks z nazwą ID_INDEX w tabeli inwentaryzacji za pomocą kolumny identyfikatora.

Jeśli przeglądamy indeksy w SSMS, powinniśmy zobaczyć ID_INDEX jako:

Zakończyć!

W tym przewodniku zbadaliśmy koncepcję indeksów i indeksów klastrowych na SQL Server. Omówiliśmy również sposób utworzenia klastrowego klawisza w tabeli bazy danych.

Dziękujemy za przeczytanie i bądź na bieżąco z więcej samouczków SQL Server.