Membuat Indeks Berkelompok dan Tidak Berkelompok di SQL Server



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Dalam Pelayan SQL, terdapat dua jenis indeks; Indeks berkelompok dan tidak berkelompok. Kedua-dua indeks berkelompok dan indeks bukan kluster mempunyai struktur fizikal yang sama. Lebih-lebih lagi, kedua-duanya disimpan di SQL Server sebagai struktur B-Tree.



Indeks berkelompok:

Senarai berkelompok adalah jenis indeks tertentu yang menyusun semula penyimpanan fizikal rekod dalam jadual. Dalam SQL Server, indeks digunakan untuk mempercepat operasi pangkalan data, yang menghasilkan prestasi tinggi. Oleh itu, jadual hanya boleh mempunyai satu indeks berkelompok, yang biasanya dilakukan pada kunci utama. Nod daun indeks berkelompok mengandungi 'Halaman data'. Jadual hanya boleh mempunyai satu indeks berkelompok.



Mari kita buat indeks berkelompok untuk mempunyai pemahaman yang lebih baik. Pertama sekali, kita perlu membuat pangkalan data.



Pembuatan pangkalan data

Untuk membuat pangkalan data. Klik kanan pada 'Pangkalan Data' dalam penjelajah objek, dan pilih 'Pangkalan data baru' pilihan. Taipkan nama pangkalan data dan klik ok. Pangkalan data telah dibuat seperti yang ditunjukkan pada gambar di bawah.

Pembuatan meja menggunakan paparan reka bentuk

Sekarang kita akan membuat jadual bernama 'Pekerja' dengan kunci utama dengan menggunakan paparan reka bentuk. Kita dapat melihat pada gambar di bawah ini yang kita tetapkan terutama pada file bernama 'ID' dan kita belum membuat indeks apa pun di atas meja.



Membuat jadual bernama 'Pekerja' dengan ID sebagai kunci utama

Anda juga boleh membuat jadual dengan melaksanakan kod berikut.

GUNAKAN [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, [email] [varchar] (250) NULL, [city] [varchar] (250) NULL, [address] [varchar] (500) NULL, CONSTRAINT [Primary_Key_ID] PRIMARY KEY CLUSTERED ([ID ] ASC) DENGAN (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO

Keluarannya adalah seperti berikut.

Membuat jadual bernama 'Pekerja' dengan ID sebagai kunci utama

Kod di atas telah membuat jadual bernama 'Pekerja' dengan medan ID, pengecam unik sebagai kunci utama. Sekarang dalam jadual ini, indeks berkelompok akan dibuat secara automatik pada ID lajur kerana kekangan utama. Sekiranya anda ingin melihat semua indeks di atas meja, jalankan prosedur yang disimpan 'Sp_helpindex'. Laksanakan kod berikut untuk melihat semua indeks pada jadual bernama 'Pekerja'. Prosedur penyimpanan ini mengambil nama jadual sebagai parameter input.

USE test EXECUTE sp_helpindex Pekerja

Keluarannya adalah seperti berikut.

'Sp_helpindex' akan menunjukkan semua indeks pada jadual pekerja.

Kaedah lain untuk melihat indeks jadual adalah pergi ke 'Meja' dalam penjelajah objek. Pilih jadual dan habiskan. Di folder indeks, anda dapat melihat semua indeks yang relevan dengan jadual tertentu seperti yang ditunjukkan pada gambar di bawah.

Melihat semua indeks ke dalam jadual

Oleh kerana ini adalah indeks berkelompok sehingga susunan logik dan fizikal indeks akan sama. Ini bermaksud jika rekod mempunyai Id 3, maka ia akan disimpan di baris ketiga jadual. Begitu juga, jika rekod kelima mempunyai id 6, ia akan disimpan di 5ikalokasi meja. Untuk memahami susunan rekod, anda perlu melaksanakan skrip berikut.

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