I've heard of and encountered parameter sniffing in stored procedures before. But today I ran into the first instance of what I can only assume is parameter sniffing in a view.
I have a query that selects from a number of tables and a view. It's basically:
select *
from view v
inner join table t
on v.id = t.id
where v.date = @EndDate;
With the parameter in place, the query will attempt to execute literally for hours. I've let it sit for over 2 hours and nothing gets returned. If I replace the parameter with a specific date where v.date = '2017-11-20'
or even a calculated value where v.date = cast(getdate() as date)
it will return in 2 seconds. I can keep the parameter in by adding option (recompile)
to the end of the query and it will return results in a second or two.
So I know how to fix this, I am really just asking: Is this something that others have run into before? Is it possible it's not parameter sniffing but rather something else?
Thanks.