* Truy vấn tìm kiếm dữ liệu nhanh hơn, từ đó làm phần mềm kết nối SQL Server sẽ nhanh lên trong quý trình sử dụng.
INDEX trong SQL Server là một cấu trúc dữ liệu giúp cải thiện hiệu suất truy vấn trong cơ sở dữ liệu bằng cách tăng tốc độ tìm kiếm và sắp xếp dữ liệu.
Bạn có thể hình dung nó như một chỉ mục trong sách, cho phép bạn nhanh chóng tìm ra trang chứa thông tin mà bạn cần.
Hãy trong 1 thư viện điện tử, bản cần tạo ra 1 nội dung tóm tắt cho cuốn sách đó để việc tìm kiếm nhanh hơn.
Clustered Index:
Là loại chỉ mục sắp xếp và lưu trữ các hàng dữ liệu trong bảng theo thứ tự vật lý của các giá trị trong chỉ mục.
Mỗi bảng chỉ có thể có một chỉ mục dạng clustered.
Khi bạn tạo một clustered index, các hàng dữ liệu trong bảng được sắp xếp theo thứ tự của các giá trị trong chỉ mục.
Non-Clustered Index:
Là loại chỉ mục không ảnh hưởng đến thứ tự vật lý của các hàng dữ liệu trong bảng.
Mỗi bảng có thể có nhiều chỉ mục dạng non-clustered.
Chỉ mục này chứa các giá trị và con trỏ dẫn đến vị trí thực tế của dữ liệu.
Tăng hiệu suất truy vấn: INDEX giúp tối ưu hóa các câu lệnh SELECT, JOIN, WHERE, và ORDER BY.
Giảm thời gian tìm kiếm: Thay vì phải quét toàn bộ bảng (table scan), SQL Server có thể sử dụng chỉ mục để tìm kiếm nhanh hơn (index seek).
Tăng không gian lưu trữ: INDEX chiếm một lượng không gian đĩa nhất định, đặc biệt nếu bảng có nhiều chỉ mục.
Giảm hiệu suất ghi: Các thao tác INSERT, UPDATE, và DELETE có thể chậm hơn vì SQL Server phải cập nhật các chỉ mục liên quan.
Bạn có thể tạo một INDEX bằng câu lệnh CREATE INDEX.
Ví dụ:
Bạn có 1 table chứng từ có 100 nghìn bảng ghi, trong quá trình sử dụng phần mềm bạn rất hay tìm Tên khách hàng trong table này
tbChungTu: Số chứng từ, Ngày, Tên khách hàng, Số tiền
-- Tạo một non-clustered index
CREATE NONCLUSTERED INDEX donhang_ten ON tbChungTu(TenKhachHang);
Tôi có 1 web tra cứu học lập trình:
Khi chưa áp dụng Index thì vớ câu lệnh phía dưới tìm ít nhất tốn:
SQL Server Execution Times:
CPU time = 16 ms, elapsed time = 143 ms.
Với câu lệnh sql phía dưới:
select * from [dbo].[tbNoiDung_Web] Where NameUrl Like '/j%'
* Chú ý: để hiển thị được tổng thời gian bạn cần chạy lệnh (1 lần)
SET STATISTICS TIME ON;
- Sau khi thực thi câu SQL bạn qua tab Message (bên phải Return)
Sau khi áp dụng tạo index trong SQL thì tốc độ thực thi còn:
SQL Server Execution Times:
CPU time = 16 ms, elapsed time = 108 ms.
Tìm kiếm: tai sao phai dung index trong sql server;index trong sql server la gi?;cac loai index trong sql server:;loi ich cua index;nhuoc diem cua index;cach tao index trong sql server;vi du bang video thuc te tao index trong sql server giup truy van cuc nhanh;
Các loại INDEX trong SQL Server