我试图在SQL Server中创建一个索引视图,想知道是否需要为视图列建立索引。
我之所以问这个问题,是因为该视图由已经有列索引的表组成。
如果TABLE1
已经将列FOO
作为非聚集索引进行了索引,那么我是否需要为新创建的视图添加列FOO
的索引,以便SQL Server使用索引?
还是说当搜索视图时,SQL Server会知道使用TABLE1中的索引?
该视图如下:
CREATE VIEW [dbo].[v_eventActivity]
WITH SCHEMABINDING
AS
SELECT ea.id,
e.eventID,
e.name,
ea.userID,
ea.activityTypeID,
ea.timeStamp,
ea.visitDuration
FROM dbo.table1 e,
dbo.table2 ea
WHERE e.eventID = ea.eventID
我要在所有这些列上一起进行搜索。
如前所述,table1和table2中的所有这些列已经建立了索引。