A huge number of factors affect what plan the Query Optimizer chooses. This is a fairly complete list: the options you have in your connection (eg. which language your session is using), the database's compatibility level, the number of rows in the tables, the data in them, how up to date the statistics are, the version, edition and patching level of SQL. It's a huge subject. Views can be a performance problem - especially when nested - so I try to avoid them if I can. Sometimes they are useful to encapsulate some widely used logic but otherwise they don't help much and can be harmful. You've clearly hit a case where the view can cause a bad query plan so I suggest you avoid it or try re-factoring it so the problem stops.