我想在SQL Server中創建一個索引視圖,我想知道如果我需要索引視圖列。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都已經有了索引的列。
我想我知道這個問題的答案,但在寫它確定,其實我不知道。好Q!知道的最好方法可能是嘗試一下並看看。你也應該指定什麼SS版本。 – JNK 2012-02-08 18:42:12
通常,索引視圖不表示整個表格,因此在特定列上表示索引通常沒有意義。你有沒有創建視圖?你可以分享表格結構,你正在談論的索引以及視圖的定義(包括它的索引)嗎? – 2012-02-08 18:44:27
我確實嘗試過。查詢執行計劃表示它確實使用原始表的索引。但我只是想確定一下。 – KDV 2012-02-08 18:44:48