Quay lại thư viện câu hỏi
t-sql Middle

Cơ chế hoạt động của Indexes (Clustered và Non-Clustered) trong T-SQL ảnh hưởng như thế nào đến thao tác ghi (DML) và đọc (SELECT) dữ liệu?

1. Clustered Index

  • Cơ chế: Sắp xếp và lưu trữ các dòng dữ liệu vật lý trong bảng dựa trên khóa của Clustered Index. Mỗi bảng chỉ có duy nhất một Clustered Index.
  • Ảnh hưởng SELECT: Cực kỳ tối ưu khi truy vấn theo khoảng giá trị (Range queries) vì dữ liệu nằm liền kề nhau trên các trang đĩa.
  • Ảnh hưởng DML: Khi thực hiện INSERT hoặc UPDATE khóa chính, nếu trang dữ liệu bị đầy (Page Split), SQL Server phải phân tách trang dữ liệu, di chuyển một nửa dữ liệu sang trang mới, gây tiêu tốn tài nguyên I/O và tạo phân mảnh (Fragmentation).

2. Non-Non-Clustered Index

  • Cơ chế: Cấu trúc B-Tree riêng biệt, chứa các giá trị khóa của Index và con trỏ (Row Locator) trỏ về trang dữ liệu thực tế (nếu bảng không có Clustered Index) hoặc trỏ về khóa Clustered Index (nếu bảng có Clustered Index).
  • Ảnh hưởng SELECT: Giúp tìm kiếm nhanh chóng, nhưng nếu câu lệnh SELECT yêu cầu các cột không có trong Index, hệ thống phải thực hiện thêm bước Key Lookup / RID Lookup để lấy dữ liệu từ bảng gốc.
  • Ảnh hưởng DML: Mỗi khi có thao tác INSERT, UPDATE, DELETE trên bảng, mọi Non-Clustered Index liên quan cũng phải được cập nhật đồng thời. Quá trình này làm tăng chi phí ghi dữ liệu (Write Amplification).

3. Chiến lược quản trị trong Enterprise

  • Không đánh Index tràn lan. Chỉ đánh Index cho các cột thường xuyên xuất hiện trong mệnh đề WHERE, JOIN, ORDER BY và GROUP BY.
  • Thường xuyên theo dõi mức độ phân mảnh (Fragmentation) và thực hiện Rebuild hoặc Reorganize Index định kỳ để duy trì hiệu suất.

4. Lưu ý thực chiến Enterprise

Ưu tiên chọn khóa Clustered Index có tính chất tăng tuần tự (Sequential),ẹp hẹp (như INT hoặc BIGINT IDENTITY) thay vì sử dụng GUID (NEWID()) để tránh tình trạng phân mảnh trang dữ liệu nghiêm trọng do chèn ngẫu nhiên.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề t-sql

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học