Grupuotų ir neklasterizuotų indeksų kūrimas „SQL Server“



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

SQL serveryje egzistuoja dviejų tipų indeksai; Grupiniai ir neklasterizuoti indeksai. Tiek grupuotų, tiek neklasterizuotų indeksų fizinė struktūra yra vienoda. Be to, abu jie yra saugomi „SQL Server“ kaip „B-Tree“ struktūra.



Grupuotas indeksas:

Grupinis sąrašas yra tam tikras indekso tipas, kuris pertvarko fizinį įrašų saugojimą lentelėje. „SQL Server“ rodikliai naudojami duomenų bazės operacijoms paspartinti, todėl pasiekiama aukštų rezultatų. Todėl lentelėje gali būti tik vienas grupuotas indeksas, kuris paprastai atliekamas pirminiame rakte. Grupuotų rodyklės lapų mazguose yra „Duomenų puslapiai“. Lentelėje gali būti tik vienas grupuotas indeksas.



Sukurkime grupuotą indeksą, kad geriau suprastume. Pirmiausia turime sukurti duomenų bazę.



Duomenų bazių kūrimas

Norint sukurti duomenų bazę. Dešiniuoju pelės mygtuku spustelėkite „Duomenų bazės“ objekto naršyklėje ir pasirinkite „Nauja duomenų bazė“ variantą. Įveskite duomenų bazės pavadinimą ir spustelėkite Gerai. Duomenų bazė sukurta taip, kaip parodyta paveikslėlyje žemiau.

Lentelės kūrimas naudojant dizaino vaizdą

Dabar sukursime lentelę pavadinimu 'Darbuotojas' naudojant pirminį raktą, naudojant dizaino vaizdą. Žemiau esančiame paveikslėlyje matome, kad pirmiausia priskyrėme paduotą pavadinimą „ID“, o lentelėje nesukūrėme jokio indekso.



Lentelės su pavadinimu „Darbuotojas“ sukūrimas su ID kaip pagrindiniu raktu

Taip pat galite sukurti lentelę vykdydami šį kodą.

NAUDOTI [testas] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE LENTELE [dbo]. [Darbuotojas] ([ID] [int] IDENTITY (1,1) NOT NULL, [Dep_ID] [int] NULL, [Name] [ varchar] (200) NULL, [email] [varchar] (250) NULL, [city] [varchar] (250) NULL, [address] [varchar] (500) NULL, CONSTRAINT [Primary_Key_ID] PAGRINDINIS RAKTAS CLUSTERED ([ID ] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO

Rezultatas bus toks.

Lentelės su pavadinimu „Darbuotojas“ sukūrimas su ID kaip pagrindiniu raktu

Aukščiau pateiktas kodas sukūrė lentelę pavadinimu 'Darbuotojas' su ID lauku, unikalus identifikatorius kaip pagrindinis raktas. Dabar šioje lentelėje sutelktas indeksas bus sukurtas stulpelio ID dėl pirminių raktų apribojimų. Jei norite pamatyti visas lentelės rodykles, vykdykite išsaugotą procedūrą „Sp_helpindex“. Vykdykite šį kodą, kad pamatytumėte visas lentelės, pavadintos pavadinimu, rodykles 'Darbuotojas'. Šios parduotuvės procedūros metu įvesties parametru laikomas lentelės pavadinimas.

NAUDOTI testą „EXECUTE sp_helpindex“ darbuotojas

Rezultatas bus toks.

„Sp_helpindex“ rodys visus indeksus ant darbuotojų lentelės.

Kitas būdas peržiūrėti lentelių indeksus yra eiti į „Stalai“ objektų tyrinėtojas. Pasirinkite lentelę ir ją išleiskite. Indeksų aplanke galite pamatyti visus indeksus, susijusius su konkrečia lentele, kaip parodyta žemiau esančiame paveikslėlyje.

Visų rodyklių peržiūra į lentelę

Kadangi tai yra grupuotas indeksas, loginė ir fizinė indekso tvarka bus ta pati. Tai reiškia, kad jei įrašo ID yra 3, jis bus saugomas trečioje lentelės eilutėje. Panašiai, jei penktojo įrašo ID yra 6, jis bus saugomas 5tūkststalo vieta. Norėdami suprasti įrašų tvarką, turite atlikti šį scenarijų.

NAUDOTI [testas] GO SET IDENTITY_INSERT [dbo]. [Darbuotojas] ON INSERT [dbo]. [Darbuotojas] ([ID], [Dep_ID], [Vardas], [el. Paštas], [miestas], [adresas]) VERTYBĖS ( 8, 6, N'Humbaerto Acevedo