Như @MartinSmith đã nói nếu bạn từng nâng cấp lên SQL 2008 thì một chỉ mục được lọc sẽ là giải pháp hoàn hảo. Tuy nhiên, trong thời gian trung bình như một trường hợp chung, BẤT K index chỉ số nào được thêm sẽ làm tăng thời gian tải của bạn. Chỉ số nhỏ ít hơn so với chỉ số lớn.
Một điều tôi sẽ xem xét là nếu bạn có một chỉ mục hiện có có thể được sửa đổi. Giả sử các truy vấn hiện tại của bạn đang sử dụng một chỉ mục nhất định, sau đó thêm cột bit vào cuối chỉ mục đó sẽ có hiệu quả tối thiểu đối với các phần chèn và hiệu ứng tích cực mà bạn đang tìm kiếm cho các truy vấn của mình.
Điều tiếp theo cần xem xét là "Tôi đã có rất nhiều chỉ mục chưa?" Không có quy tắc cứng và nhanh như "rất nhiều" là gì nhưng tôi thường tuân theo quy tắc 10 chỉ số là giới hạn trừ khi tôi THỰC SỰ cần một cái mới.
Suy nghĩ cuối cùng, kiểm tra nó trên một ví dụ thử nghiệm. Thiết lập một bảng có vài triệu hàng, chạy tải của bạn trên đó, thêm chỉ mục của bạn sau đó chạy lại tải của bạn và xem bạn có nhận thấy thời gian tải tăng đáng kể không.
Chỉ có bạn thực sự có thể quyết định "đáng kể" là gì. Tôi có các máy trong đó việc thêm 5 phút vào thời gian tải là "đáng kể" và các máy khác mà tôi có thể thấy một vài giờ tăng lên một cách an toàn.
BIÊN TẬP:
Một lựa chọn khác là phân vùng bảng của bạn. Bạn có thể phải sử dụng chế độ xem được phân vùng nếu bạn không sử dụng phiên bản Enterprise nhưng ngay cả như vậy cũng có ích. Bạn đặt bit 0 của bạn vào một phân vùng và bit 1 của bạn ở một phân vùng khác. Giả sử bạn chỉ chèn một phiên bản này hoặc phiên bản kia thì bạn thậm chí có thể tăng tốc độ chèn của mình.