Can we create index on views?
Answers were Sorted based on User's Feedback
Answer / madhoosapre
An index cannot be defined on a view. Because view is
virtual table, which consists of a subset of columns from
one more tables.
The Restrictions imposed on views are as follows:
1. A view can be created only in the current database.
2. A view can be created only if there is a SELECT
permission on its base table
3. A Trigger or an Index cannot be defined on a view.
4. A view cannot be derive its data from temporary tables.
5. The CREATE VIEW statement cannot be combined with other
SQL statements in a single batch.
| Is This Answer Correct ? | 144 Yes | 67 No |
Answer / ashok naik
Yes that is called indexed views using this we can improve
Query performance if your view contain single select
stament then we can easily establish unique clusterd index
| Is This Answer Correct ? | 63 Yes | 20 No |
Answer / md sajjad
No We cannot create index on view:
e.g
1* create view emp_view as select * from emp where
deptno=20
SQL> /
View created.
1* create index indx_emp on emp_view(empno)
SQL> /
create index indx_emp on emp_view(empno)
*
ERROR at line 1:
ORA-01702: a view is not appropriate here
| Is This Answer Correct ? | 39 Yes | 16 No |
Answer / janaka
Yes we can create Indexed view.
use
CREATE UNIQUE CLUSTERED INDEX i_IndexA
ON View_Name(field1,field2)
| Is This Answer Correct ? | 55 Yes | 35 No |
Answer / prakasam
yes. we can.
http://msdn.microsoft.com/en-us/library/aa258260
(v=sql.80).aspx - Refer the url
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / karthik
clear short article about Indexed View
http://mssqltipsandtricks.blogspot.com/2012/01/index-on-views.html
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / itishree chhotray
View should be Schema binding,before creating index on view.
We can create Unique Clustered index on view after that we
can create non clustered index but we should have at least
one unique clustered index on view.
| Is This Answer Correct ? | 0 Yes | 0 No |
What are the general rules on data consistency?
What is tns name?
How to create index-by table in oracle?
How to define a sub function?
List out the types of joins.
How to return top 5 rows in oracle?
What is Row Chaining ?
what is the output of select * from emp where null=null & select * from emp where 1=1
What is the dynamic sql in oracle?
can a table has a column that has only view data and in other columns we can change data?
I want a table like, no name address addr1 addr2 So i want columns like addr1,addr2 under address column. Can one please answer me. Advance Thanks.
What happens to the data files if a tablespace is dropped?