Một thời gian trước, tôi đã có một truy vấn mà tôi chạy khá nhiều cho một trong những người dùng của tôi. Nó vẫn đang được phát triển và tinh chỉnh nhưng cuối cùng nó được ổn định và chạy khá nhanh, vì vậy chúng tôi đã tạo ra một thủ tục lưu sẵn từ nó.Tham số Sniffing (hoặc Spoofing) trong SQL Server
Cho đến nay, rất bình thường.
Quy trình lưu trữ, mặc dù, là con chó chậm. Không có sự khác biệt về vật chất giữa truy vấn và proc, nhưng thay đổi tốc độ rất lớn.
[Bối cảnh, chúng tôi đang chạy SQL Server 2005.]
Một DBA địa phương thân thiện (người không còn làm việc ở đây) đã xem xét một thủ tục lưu trữ và nói "tham số giả mạo!" (Chỉnh sửa: mặc dù có vẻ như nó có thể còn được gọi là 'tham số sniffing', điều này có thể giải thích tính tương đồng của các lần truy cập Google khi tôi cố gắng tìm kiếm nó.)
Chúng tôi đã tóm tắt một số thủ tục được lưu trữ cho thứ hai, gói các cuộc gọi đến proc bên trong mới này vào bên ngoài có sẵn bên ngoài, được gọi là bên ngoài và, hey mau, nó đã nhanh như truy vấn ban đầu.
Vì vậy, điều gì mang lại? Ai đó có thể giải thích giả mạo tham số?
tín dụng thưởng cho
- làm nổi bật thế nào để tránh nó
- cho thấy làm thế nào để nhận ra có thể gây ra
- thảo luận về các chiến lược thay thế, ví dụ số liệu thống kê, chỉ số, chìa khóa để giảm nhẹ tình hình
Nó không chỉ là một khả năng, đó là một sự chắc chắn - không có những thứ như giả mạo tham số. Đó là tham số đánh hơi. – ErikE