Re: SQL Server 2005 Views
A standard View is simply a query that creates a "virtual table". The data it returns is not stored in the database so the View's query is executed everytime it is referenced. It really is no different than executing a statement such as
Select * From (Select * From Table2 Where ...) As Data Where...
With the scenario you described though, SQL Server will try and optimize all the queries from all the Views into a single execution plan.
However, if you create an Index on a View then the View's data is stored in the database. Now whenever the View is referenced only the View's data needs to be queried. But don't go and add an Index to every View because each update/insert into one of the underlying tables in a View's query requires the need to refresh the View's data (sql server does this automatically).
Re: SQL Server 2005 Views
Indexed views should be created carefully. And remember when you create an Indexed view, the underlying tables cannot be changed (altered in anyway) unless the dependency of the view is removed.
Re: SQL Server 2005 Views
Yes and the reading I have done says you can't create the indexed view when using Outer Joins..... 3 of the 4 views involved use Left Outer Join Isn't that fun for performance.