U SQL poslužitelju postoje dvije vrste indeksa; Klasterirani i neklasterizirani indeksi. I klasterizirani indeksi i neklasterizirani indeksi imaju istu fizičku strukturu. Štoviše, oboje su pohranjeni u SQL Server kao struktura B-stabla.
Grupirani indeks:
Klasterizirani popis posebna je vrsta indeksa koji preuređuje fizičku pohranu zapisa u tablici. Unutar SQL Servera indeksi se koriste za ubrzavanje operacija baze podataka, što dovodi do visokih performansi. Tablica, prema tome, može imati samo jedan klasterizirani indeks, što se obično radi na primarnom ključu. Čvorovi lista klasteriziranog indeksa sadrže “Stranice s podacima”. Tablica može posjedovati samo jedan klasterizirani indeks.
Stvorimo klasterizirani indeks da bismo imali bolje razumijevanje. Prije svega, moramo stvoriti bazu podataka.
Izrada baze podataka
Da bi se stvorila baza podataka. Desnom tipkom miša kliknite 'Baze podataka' u istraživaču objekata i odaberite “Nova baza podataka” opcija. Upišite naziv baze podataka i kliknite na ok. Baza podataka kreirana je kako je prikazano na donjoj slici.
Stvaranje tablice pomoću prikaza dizajna
Sada ćemo stvoriti tablicu s imenom 'Zaposlenik' s primarnim ključem pomoću prikaza dizajna. Na donjoj slici možemo vidjeti da smo primarno dodijelili datoteku pod nazivom 'ID' i nismo stvorili nijedan indeks na tablici.
Stvaranje tablice s nazivom 'Zaposlenik' s ID-om kao primarnim ključem
Tablicu možete stvoriti i izvršavanjem sljedećeg koda.
KORISTITE [test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo]. [Zaposlenik] ([ID] [int] IDENTITET (1,1) NULL, [Dep_ID] [int] NULL, [Ime] [ varchar] (200) NULL, [email] [varchar] (250) NULL, [grad] [varchar] (250) NULL, [adresa] [varchar] (500) NULL, OGRANIČENJE [Primary_Key_ID] PRIMARNI KLJUČ KLASERIRAN ([ID ] ASC) SA (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ON ON [PRIMARY] GO
Izlaz će biti sljedeći.
Stvaranje tablice s nazivom 'Zaposlenik' s ID-om kao primarnim ključem
Gornji kod stvorio je tablicu s imenom 'Zaposlenik' s ID poljem, jedinstvenim identifikatorom kao primarnim ključem. Sada će se u ovoj tablici klasterizirani indeks automatski stvoriti na ID-u stupca zbog ograničenja primarnog ključa. Ako želite vidjeti sve indekse na tablici, pokrenite pohranjenu proceduru “Sp_helpindex”. Izvršite sljedeći kod da biste vidjeli sve indekse na tablici s imenom 'Zaposlenik'. Ovaj postupak spremanja uzima naziv tablice kao ulazni parametar.
USE test IZVRŠI sp_helpindex Zaposlenik
Izlaz će biti sljedeći.
“Sp_helpindex” prikazat će sve indekse na tablici zaposlenika.
Drugi način pregledavanja indeksa tablica je odlazak na 'Stolovi' u istraživaču predmeta. Odaberite tablicu i potrošite je. U mapi indeksi možete vidjeti sve indekse relevantne za tu određenu tablicu kako je prikazano na donjoj slici.
Pregled svih indeksa u tablici
Kako je ovo klasterirani indeks, tako će i logički i fizički redoslijed indeksa biti isti. To znači da ako zapis ima Id 3, tada će biti pohranjen u trećem redu tablice. Slično tome, ako peti zapis ima id 6, pohranit će se u 5thmjesto stola. Da biste razumjeli redoslijed zapisa, morate izvršiti sljedeću skriptu.
KORISTITE [test] IDITE POSTAVITI IDENTITY_INSERT [dbo]. [Zaposlenik] NA UMETAK [dbo]. [Zaposlenik] ([ID], [Dep_ID], [Ime], [e-adresa], [grad], [adresa]) VRIJEDNOSTI ( 8, 6, N'Humbaerto Acevedo