sorry, I'm not sure I've actually made my question clear.
I've got a prcodedure which has been cached since the 10- April. Yesterday the proc was running as expected today it's performing badly. Through the SQL DMO's I can see the procedure is still in cache from the 10-April and has over 4 million executions and when I get the execution plan details from the cached plans that also shows it's been used 4million times, but this plan has actually changed from doing a perfromant seek against a table to a scan. it's meant the duration CPU and reads have gone through the roof, adding a forceseek will fix the issue I'm just confused how a plan can actually change in cache.