Tôi sẽ nghi ngờ việc đánh hơi tham số.
Kế hoạch thực thi đã lưu trong bộ nhớ cache được sử dụng cho kết nối của ứng dụng của bạn có thể sẽ không sử dụng được bởi kết nối SSMS của bạn do set
khác nhau các tùy chọn để nó sẽ tạo ra một kế hoạch mới khác.
Bạn có thể truy xuất các kế hoạch đã lưu trong bộ nhớ cache cho quy trình được lưu trữ bằng cách sử dụng truy vấn bên dưới. Sau đó, so sánh để xem chúng có khác nhau không (ví dụ:cái chậm đang tìm kiếm chỉ mục và tra cứu dấu trang ở một nơi mà cái kia quét?)
Use YourDatabase;
SELECT *
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where sys.dm_exec_sql_text.OBJECTID=object_id('YourProcName')
and attribute='set_options'