Vytváranie klastrovaných a neklastrovaných indexov na serveri SQL Server



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Na serveri SQL Server existujú dva typy indexov; Klastrované a nezhlukované indexy. Klastrované indexy aj klastrové indexy majú rovnakú fyzickú štruktúru. Navyše sú obidva uložené na serveri SQL Server ako štruktúra stromu B.



Klastrovaný index:

Klastrovaný zoznam je konkrétny typ indexu, ktorý mení usporiadanie fyzického ukladania záznamov v tabuľke. V rámci servera SQL Server sa indexy používajú na zrýchlenie databázových operácií, čo vedie k vysokému výkonu. Tabuľka preto môže mať iba jeden zoskupený index, ktorý sa zvyčajne vykonáva na primárnom kľúči. Listové uzly zoskupeného indexu obsahujú „Dátové stránky“. Tabuľka môže obsahovať iba jeden zoskupený index.



Vytvorme klastrovaný index, aby sme lepšie porozumeli. Najskôr musíme vytvoriť databázu.



Vytvorenie databázy

S cieľom vytvoriť databázu. Kliknite pravým tlačidlom myši na „Databázy“ v Prieskumníkovi objektov a vyberte „Nová databáza“ možnosť. Zadajte názov databázy a kliknite na ok. Databáza bola vytvorená tak, ako je to znázornené na obrázku nižšie.

Vytváranie tabuliek pomocou návrhového zobrazenia

Teraz vytvoríme tabuľku s názvom „Zamestnanec“ s primárnym kľúčom pomocou návrhového zobrazenia. Na obrázku nižšie vidíme, že sme primárne priradili priečinok s názvom „ID“ a v tabuľke sme nevytvorili žiadny index.



Vytvorenie tabuľky s názvom „Zamestnanec“ s ID ako primárnym kľúčom

Tabuľku môžete vytvoriť aj vykonaním nasledujúceho kódu.

POUŽITIE [test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo]. [Employee] ([ID] [int] IDENTITY (1,1) NOT NULL, [Dep_ID] [int] NULL, [Name] [ varchar] (200) NULL, [e-mail] [varchar] (250) NULL, [mesto] [varchar] (250) NULL, [adresa] [varchar] (500) NULL, OBMEDZENIE [Primary_Key_ID] ZÁKLADNÝ KLÍČ CLUSTERED ([ID ] ASC) S (PAD_INDEX = VYPNUTÉ, STATISTICS_NORECOMPUTE = VYPNUTÉ, IGNORE_DUP_KEY = VYPNUTÉ, ALLOW_ROW_LOCKS = ZAPNUTÉ, ALLOW_PAGE_LOCKS = ZAPNUTÉ) ZAPNUTÉ [PRIMÁRNE]) ZAPNUTÉ [PRIMÁRNE] GO

Výstup bude nasledovný.

Vytvorenie tabuľky s názvom „Zamestnanec“ s ID ako primárnym kľúčom

Vyššie uvedený kód vytvoril tabuľku s názvom „Zamestnanec“ s poľom ID, jedinečným identifikátorom ako primárnym kľúčom. Teraz v tejto tabuľke sa zoskupený index automaticky vytvorí na ID stĺpca kvôli obmedzeniam primárneho kľúča. Ak chcete vidieť všetky indexy v tabuľke, spustite uloženú procedúru „Sp_helpindex“. Vykonaním nasledujúceho kódu zobrazíte všetky indexy v tabuľke s názvom „Zamestnanec“. Táto procedúra ukladania vezme ako vstupný parameter názov tabuľky.

POUŽIŤ test VYKONAŤ sp_helpindex zamestnanec

Výstup bude nasledovný.

“Sp_helpindex” zobrazí všetky indexy v tabuľke zamestnancov.

Ďalším spôsobom, ako zobraziť indexy tabuliek, je ísť na „Stoly“ v prieskumníkovi objektov. Vyberte tabuľku a spotrebujte ju. V priečinku indexov môžete vidieť všetky indexy súvisiace s konkrétnou tabuľkou, ako je to znázornené na obrázku nižšie.

Prezeranie všetkých indexov do tabuľky

Pretože sa jedná o zoskupený index, logické a fyzické poradie indexu bude rovnaké. To znamená, že ak má záznam Id 3, bude uložený v treťom riadku tabuľky. Podobne, ak má piaty záznam ID 6, uloží sa do 5thumiestnenie tabuľky. Aby ste pochopili usporiadanie záznamov, musíte spustiť nasledujúci skript.

USE [test] GO SET IDENTITY_INSERT [dbo]. [Employee] ON INSERT [dbo]. [Employee] ([ID], [Dep_ID], [Name], [email], [city], [address] VALUES ( 8, 6, N'Humbaerto Acevedo