Cột thời gian SQL Server lập chỉ mục cho hiệu suất


8

Việc thêm một chỉ mục vào một datetimecột sẽ tăng hiệu suất nếu một WHERE myDateColumn BETWEEN @startDate and @endDatemệnh đề thường được áp dụng cho datetimecột đó ?

Nếu có, chỉ mục nên được phân cụm hoặc không phân cụm và tại sao?


Nếu bạn đang thực hiện các truy vấn phạm vi thì một datetimecột thường sử dụng rất tốt một chỉ mục IMO được nhóm.
Martin Smith

Nó có thể - tùy thuộc vào những gì bạn chọn từ bảng đó và tùy thuộc vào mức độ chọn lọc của bạn trong phạm vi ngày ...
marc_s

Câu trả lời:


5

Thêm một chỉ mục sẽ tăng hiệu suất trên các câu lệnh CHỌN, giả sử phạm vi ngày của bạn không đủ lớn để buộc quét chỉ mục trái ngược với tìm kiếm chỉ mục. Thêm một chỉ mục sẽ làm giảm hiệu suất trên các hoạt động INSERT, UPDATE và DELETE, vì chỉ mục mới này sẽ cần được duy trì. Câu hỏi được nhóm / không bao gồm rất phụ thuộc vào số lượng cột khác trong bảng mà bạn đưa vào trong mệnh đề SELECT.

Nếu câu hỏi này không chỉ là câu hỏi bài tập về nhà và bạn có những ví dụ bạn muốn đưa vào, nó sẽ giúp câu trả lời của tôi được hoàn thiện hơn.

Hi vọng điêu nay co ich,

Matt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.