Rühmitatud ja klastrita indeksite loomine SQL Serveris



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

SQL Serveris on kahte tüüpi indekse; Klastrite ja klastrite indeksid. Nii rühmitatud indeksitel kui ka rühmitamata indeksitel on sama füüsiline struktuur. Veelgi enam, mõlemad neist on SQL Serverisse salvestatud B-puu struktuurina.



Klasterdatud indeks:

Rühmitatud loend on teatud tüüpi indeks, mis korraldab tabelis kirjete füüsilise salvestamise. SQL Serveris kasutatakse andmebaase toimingute kiirendamiseks indekse, mis viib suure jõudluseni. Seetõttu võib tabelis olla ainult üks klasterdatud indeks, mis tehakse tavaliselt primaarvõtmel. Klastrilise indeksi lehesõlmed sisaldavad “Andmelehed”. Tabelil võib olla ainult üks rühmitatud indeks.



Parema mõistmise nimel looge klastriline register. Kõigepealt peame looma andmebaasi.



Andmebaasi loomine

Andmebaasi loomiseks. Paremklõpsake nuppu „Andmebaasid” ja valige käsk „Uus andmebaas” valik. Sisestage andmebaasi nimi ja klõpsake nuppu OK. Andmebaas on loodud alloleval joonisel näidatud viisil.

Tabeli loomine kujundusvaate abil

Nüüd loome tabeli nimega “Töötaja” esmase võtmega, kasutades kujundusvaadet. Alloleval pildil näeme, et oleme määranud peamiselt faili nimega 'ID' ja me pole tabelisse ühtegi indeksit loonud.



Tabeli loomine nimega “Töötaja”, mille peamine võti on ID

Tabeli saate luua ka järgmise koodi käivitamisega.

KASUTAGE [test] GO SET ANSI_NULLS GO SET QUOTED_IDENTIFIER ON GO CREATE TABEL [dbo]. [Töötaja] ([ID] [int] IDENTITEET (1,1) EI NULL, [Dep_ID] [int] NULL, [Nimi] [ varchar] (200) NULL, [meil] ] ASC) SEES (PAD_INDEX = VÄLJAS, STATISTICS_NORECOMPUTE = VÄLJAS, IGNORE_DUP_KEY = VÄLJAS, ALLOW_ROW_LOCKS = SEES, ALLOW_PAGE_LOCKS = SEES) SEES [PRIMARY]) SEES

Väljund on järgmine.

Tabeli loomine nimega “Töötaja”, mille peamine võti on ID

Ülaltoodud kood on loonud tabeli nimega “Töötaja” ID-väljaga unikaalne identifikaator esmase võtmena. Nüüd selles tabelis luuakse veergude ID-le primaarvõtme piirangute tõttu klastriline register. Kui soovite tabeli kõiki indekse näha, käivitage salvestatud protseduur „Sp_helpindex”. Nimega tabeli kõigi indeksite nägemiseks käivitage järgmine kood “Töötaja”. Selle salvestusprotseduuri korral võetakse sisendparameetrina tabeli nimi.

KASUTA testi EXECUTE sp_helpindex Töötaja

Väljund on järgmine.

“Sp_helpindex” kuvab kõik tabelid töötaja tabelis.

Teine võimalus tabeliindeksite vaatamiseks on minna “Lauad” objektide uurijas. Valige tabel ja kulutage see ära. Indeksite kaustas näete kõiki selle konkreetse tabeli jaoks asjakohaseid indekse, nagu on näidatud alloleval joonisel.

Kõigi indeksite kuvamine tabelis

Kuna tegemist on rühmitatud indeksiga, on indeksi loogiline ja füüsiline järjestus sama. See tähendab, et kui kirje ID on 3, siis see salvestatakse tabeli kolmandale reale. Samamoodi, kui viienda kirje ID on 6, salvestatakse see ka 5-ssethtabeli asukoht. Dokumentide järjestuse mõistmiseks peate käivitama järgmise skripti.

KASUTAGE [test] GO SET IDENTITY_INSERT [dbo]. [Töötaja] ON INSERT [dbo]. [Töötaja] ([ID], [Dep_ID], [Nimi], [e-post], [linn], [aadress]) VÄÄRTUSED ( 8, 6, N'Humbaerto Acevedo