When a view is created, the name of the view is stored in the sysobjects table. Information about the columns defined in a view is added to the syscolumns table, and information about the view dependencies is added to the sysdepends table. In addition, the text of the CREATE VIEW statement is added to the syscomments table. This is similar to a stored procedure; when a view is executed for the first time, only its query tree is stored in the procedure cache. Each time a view is accessed, its execution plan is recompiled.
There isnt a compiled view in my understanding. What you can do is create an indexed view, which creates a physical clustered index representing the view. This is highly performant on reads, but will slow the inserts down on the base tables.
"I'm living so far beyond my income that we may almost be said to be living apart