如何将聚集索引添加到以下视图?
CREATE VIEW [vExcludedIds]
WITH SCHEMABINDING
AS
SELECT DISTINCT
TempTable.Id
FROM
(VALUES (1), (2), (3)) AS TempTable(Id)
我的索引创建命令是:
CREATE UNIQUE CLUSTERED INDEX IDX_V1
ON [vExcludedIds] (Id);
我收到以下错误:
无法在视图上创建索引" Test.dbo.vExcludedIds"因为它引用派生表" TempTable" (由FROM子句中的SELECT语句定义)。请考虑删除对派生表的引用或不对视图编制索引。
此外,当我尝试在SQL Server Management Studio中手动添加索引时,我在"新索引"的顶部出现错误。窗口说:
HasClusteredColumnStoreIndex:未知属性。
有什么想法吗?
答案 0 :(得分:6)
请阅读https://msdn.microsoft.com/en-AU/library/ms191432.aspx
创建索引视图有很多限制。
... 视图定义中的SELECT语句不得包含以下Transact-SQL元素:
考虑创建表或表函数