Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (423.23 KB, 5 trang )
vấn đầu tiên chạy, trình tối ưu truy vấn SQL không
nhận biết được giá trị biến cho đến khi chạy thực. Vì
đã sử dụng biến và nhập tùy chọn lọc trên bộ lọc và
tạo Plan thực thi trên cơ sở của bộ lọc này và lưu trữ
lại, trong khi đó truy vấn thứ hai cũng sẽ sử dụng
Plan thực thi tương tự được lưu trữ.
Trường hợp 3: Nếu những truy vấn sử dụng tham số
và mọi thời điểm những giá trị biến này trả về với
khả năng lọc cao thì chúng ta phải áp dụng phương
pháp nào để buộc Query Optimizer thực hiện Index
Seek thay vì Index Scan? Chúng tra có hai lựa chọn ở
đây, hoặc là sử dụng gợi ý FORCESEEK hay sử
dụng tùy chọn RECOMPILE.
FORCESEEK áp dụng cho các thao tác tìm kiểm chỉ
mục theo nhóm và không theo nhóm. Nó có thể được
chỉ định cho mọi bảng hay view trong mệnh đề
FROM của lệnh STATEMENT và trong mệnh đề
FROM <table_source> của lệnh UPDATE hay
DELETE.
Lưu ý: Do Query Optimizer của SQL Server chỉ lựa
chọn Plan thực thi tốt nhất cho một truy vấn nên
Microsoft đề xuất rằng các nhà phát triển có kinh
nghiệm và các quản trị viên cở sở dữ liệu chỉ sử dụng
những gợi ý như một phương pháp cuối cùng vì