Tạo chỉ mục theo cụm và không theo cụm trong SQL Server



Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Trong SQL Server, tồn tại hai loại chỉ mục; Chỉ mục được phân cụm và không theo nhóm. Cả chỉ mục được phân cụm và chỉ mục không được phân cụm đều có cấu trúc vật lý giống nhau. Hơn nữa, cả hai đều được lưu trữ trong SQL Server dưới dạng cấu trúc B-Tree.



Chỉ mục theo cụm:

Danh sách nhóm là một loại chỉ mục cụ thể sắp xếp lại bộ lưu trữ vật lý của các bản ghi trong bảng. Trong SQL Server, các chỉ mục được sử dụng để tăng tốc hoạt động của cơ sở dữ liệu, dẫn đến hiệu suất cao. Do đó, bảng có thể chỉ có một chỉ mục được phân cụm, thường được thực hiện trên khóa chính. Các nút lá của chỉ mục được phân nhóm chứa 'Trang dữ liệu'. Một bảng chỉ có thể sở hữu một chỉ mục nhóm.



Hãy để chúng tôi tạo một chỉ mục nhóm để hiểu rõ hơn. Trước hết, chúng ta cần tạo một cơ sở dữ liệu.



Tạo cơ sở dữ liệu

Để tạo một cơ sở dữ liệu. Nhấp chuột phải vào “Cơ sở dữ liệu” trong trình khám phá đối tượng và chọn “Cơ sở dữ liệu mới” Lựa chọn. Nhập tên của cơ sở dữ liệu và nhấp vào ok. Cơ sở dữ liệu đã được tạo như trong hình bên dưới.

Tạo bảng bằng chế độ xem thiết kế

Bây giờ chúng ta sẽ tạo một bảng có tên 'Nhân viên' với khóa chính bằng cách sử dụng dạng xem thiết kế. Chúng ta có thể thấy trong hình bên dưới, chúng ta đã chỉ định chủ yếu cho tên 'ID' đã nộp và chúng ta chưa tạo bất kỳ chỉ mục nào trên bảng.



Tạo bảng có tên 'Nhân viên' với ID làm khóa chính

Bạn cũng có thể tạo một bảng bằng cách thực thi đoạn mã sau.

SỬ DỤNG [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] CHÌA KHÓA CHÍNH XÁC ([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

Kết quả sẽ như sau.

Tạo bảng có tên 'Nhân viên' với ID làm khóa chính

Đoạn mã trên đã tạo một bảng có tên 'Nhân viên' với một trường ID, một định danh duy nhất làm khóa chính. Bây giờ trong bảng này, một chỉ mục nhóm sẽ được tự động tạo trên ID cột do các ràng buộc về khóa chính. Nếu bạn muốn xem tất cả các chỉ mục trên bảng, hãy chạy thủ tục được lưu trữ “Sp_helpindex”. Thực thi đoạn mã sau để xem tất cả các chỉ mục trên bảng có tên 'Nhân viên'. Thủ tục lưu trữ này lấy tên bảng làm tham số đầu vào.

SỬ DỤNG kiểm tra EXECUTE sp_helpindex Employee

Kết quả sẽ như sau.

“Sp_helpindex” sẽ hiển thị tất cả các chỉ mục trên bảng nhân viên.

Một cách khác để xem chỉ mục bảng là truy cập 'những cái bàn' trong trình khám phá đối tượng. Chọn bàn và sử dụng nó. Trong thư mục chỉ mục, bạn có thể thấy tất cả các chỉ mục liên quan đến bảng cụ thể đó như thể hiện trong hình bên dưới.

Xem tất cả các chỉ mục trong bảng

Vì đây là chỉ mục được phân cụm nên thứ tự logic và vật lý của chỉ mục sẽ giống nhau. Điều này có nghĩa là nếu một bản ghi có Id là 3, thì nó sẽ được lưu trữ ở hàng thứ ba của bảng. Tương tự, nếu bản ghi thứ năm có id là 6, nó sẽ được lưu trữ trong 5thứ tựvị trí của bảng. Để hiểu thứ tự các bản ghi, bạn cần thực hiện đoạn mã sau.

SỬ DỤNG [test] GO SET IDENTITY_INSERT [dbo]. [Nhân viên] ON INSERT [dbo]. [Nhân viên] ([ID], [Dep_ID], [Name], [email], [city], [address]) VALUES ( 8, 6, N'Humbaerto Acevedo