Gợi ý chỉ mục chỉ có sẵn cho các máy chủ cơ sở dữ liệu Microsoft Dynamics. Đối với SQL Server truyền thống, các bộ lọc bạn xác định trong mệnh đề 'Ở đâu' sẽ thuyết phục công cụ sử dụng bất kỳ chỉ số nào có liên quan ... Miễn là kế hoạch thực thi của công cụ có thể xác định hiệu quả cách đọc thông tin (cho dù là quét toàn bộ bảng hay quét được lập chỉ mục ) - nó phải so sánh cả hai trước khi thực hiện câu lệnh phù hợp, như một phần của trình tối ưu hóa hiệu suất tích hợp của nó.
Tuy nhiên, bạn có thể buộc trình tối ưu hóa quét bằng cách sử dụng một cái gì đó như
Select *
From [yourtable] With (Index(0))
Where ...
Hoặc để tìm kiếm một chỉ mục cụ thể bằng cách sử dụng một cái gì đó như
Select *
From [yourtable] With (Index(1))
Where ...
Sự lựa chọn là của bạn. Nhìn vào các thuộc tính chỉ mục của bảng trong bảng đối tượng để biết bạn muốn sử dụng chỉ mục nào. Nó phải phù hợp với (các) bộ lọc của bạn.
Để có kết quả tốt nhất, trước tiên hãy liệt kê các bộ lọc sẽ trả lại ít kết quả nhất. Tôi không biết mình nói có đúng không, nhưng có vẻ như các bộ lọc truy vấn là tuần tự; nếu bạn làm đúng trình tự của mình, trình tối ưu hóa không cần phải làm điều đó cho bạn bằng cách so sánh tất cả các kết hợp hoặc ít nhất là không bắt đầu so sánh với các truy vấn đắt tiền hơn.