Klasteru un bez klasteru indeksu izveide SQL Server



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

SQL Server pastāv divu veidu indeksi; Grupēti un neklasificēti indeksi. Gan klasteru indeksiem, gan nekasterizētiem indeksiem ir vienāda fiziskā struktūra. Turklāt abi no tiem tiek glabāti SQL Server kā B-Tree struktūra.



Klasteru indekss:

Sagrupēts saraksts ir īpašs indeksa veids, kas pārkārto ierakstu fizisko glabāšanu tabulā. SQL Server iekšienē indeksi tiek izmantoti, lai paātrinātu datu bāzes darbības, tādējādi nodrošinot augstu veiktspēju. Tāpēc tabulai var būt tikai viens kopu indekss, kas parasti tiek veikts ar primāro atslēgu. Grupēta indeksa lapu mezgli satur “Datu lapas”. Tabulai var būt tikai viens kopu indekss.



Lai labāk izprastu, izveidosim kopu indeksu. Pirmkārt, mums ir jāizveido datu bāze.



Datu bāzes izveidošana

Lai izveidotu datu bāzi. Ar peles labo pogu noklikšķiniet uz “Datu bāzes” objektu pārlūkprogrammā un atlasiet “Jauna datu bāze” opcija. Ierakstiet datu bāzes nosaukumu un noklikšķiniet uz Labi. Datu bāze ir izveidota, kā parādīts attēlā.

Galda izveide, izmantojot dizaina skatu

Tagad mēs izveidosim tabulu ar nosaukumu “Darbinieks” ar primāro atslēgu, izmantojot dizaina skatu. Zemāk redzamajā attēlā redzam, ka mēs galvenokārt esam piešķīruši iesniegto nosaukumu “ID”, un mēs uz tabulas neesam izveidojuši nevienu indeksu.



Izveidot tabulu ar nosaukumu “Darbinieks”, kuras galvenā atslēga ir ID

Varat arī izveidot tabulu, izpildot šādu kodu.

IZMANTOJIET [tests] GO SET ANSI_NULLS 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-pasts] [varchar] (250) NULL, [pilsēta] [varchar] (250) NULL, [adrese] [varchar] (500) NULL, SAVIENOJUMS [Primary_Key_ID] PRIMĀRĀS ATSLĒGAS CLUSTERED ([ID ] ASC) AR (PAD_INDEX = Izslēgts, STATISTICS_NORECOMPUTE = Izslēgts, IGNORE_DUP_KEY = Izslēgts, ALLOW_ROW_LOCKS = IESLĒGTS, ALLOW_PAGE_LOCKS = IESLĒGTS) ON [PRIMARY]) ON [PRIMARY] GO

Rezultāts būs šāds.

Izveidot tabulu ar nosaukumu “Darbinieks”, kuras galvenā atslēga ir ID

Iepriekš minētais kods ir izveidojis tabulu ar nosaukumu “Darbinieks” ar ID lauku unikāls identifikators kā galvenā atslēga. Tagad šajā tabulā primāro atslēgu ierobežojumu dēļ kolonnas ID tiks automātiski izveidots grupēts indekss. Ja vēlaties redzēt visus tabulas indeksus, palaidiet saglabāto procedūru “Sp_helpindex”. Izpildiet šo kodu, lai redzētu visus rādītājus tabulā ar nosaukumu “Darbinieks”. Šajā veikala procedūrā kā ievades parametrs tiek izmantots tabulas nosaukums.

LIETOT testu EXECUTE sp_helpindex darbinieks

Rezultāts būs šāds.

“Sp_helpindex” parādīs visus indeksus uz darbinieku tabulas.

Vēl viens veids, kā skatīt tabulas indeksus, ir doties uz “Galdi” objektu izpētē. Atlasiet tabulu un iztērējiet to. Indeksu mapē var redzēt visus indeksus, kas attiecas uz konkrēto tabulu, kā parādīts zemāk redzamajā attēlā.

Visu indeksu skatīšana tabulā

Tā kā šis ir klasteru indekss, indeksa loģiskā un fiziskā secība būs vienāda. Tas nozīmē, ka, ja ieraksta ID ir 3, tas tiks saglabāts tabulas trešajā rindā. Līdzīgi, ja piektā ieraksta ID ir 6, tas tiks saglabāts 5thgalda atrašanās vieta. Lai saprastu ierakstu secību, jāizpilda šāds skripts.

IZMANTOJIET [tests] UZSTĀDĪT IDENTITĀTU_INSERTU [dbo]. [Darbinieks] IEVADIET INSERT [dbo]. [Darbinieks] ([ID], [Dep_ID], [Vārds], [e-pasts], [pilsēta], [adrese]) VĒRTĪBAS ( 8, 6, N'Humbaerto Acevedo