Sql-server – Does view take advantage of table indexes

indexmaterialized-viewsql serverview

I have a table with a clustered index and 2 non clustered index. Now, in my view I am selecting everything from my table

create view dbo.MyView
as 
Select * from MyTable

Now, when I am using this view in my queries may I assume that this view will take advantage of the indexes created on the table. (i.e. work in the same way as Select * from MyTable should work)?
or should I have to use Indexed views

Addition to the question

If view can take advantage of the table index, then using SELECT * FROM MyView Where SomeColumn = @someValue may impact the performance badly (if view has large amount of data , so it will behave like a heap when not indexed).
How to overcome this issue ? other than using NOEXPAND (because I am using Enterprise edition)

Best Answer

A view is just a "saved query". The indexes on the base table are still used whenever you access the view.

You don't need to use an indexed view, unless the view contains an expensive logic (aggregations or joins) that you don't want to perform each time you query the view. Please note that even when the view is "materialized", the optimizer is free to access the base tables and their indexes directly and ignore the index on the view altogether.

Also note that keeping the index on the view aligned with the data in the base tables is expensive: every time you write to one of the base tables you have to update the index on the view as well.