舊版 SQL Server 檢視表不支援索引,查詢效能等同直接 JOIN。SQL Server 2000 允許在檢視表建立索引,現有應用無需修改即可大幅提升效能。複雜 JOIN、排序、分組操作可封裝於檢視表、預存程序、使用者定義函數,應用層只需簡單 SELECT * FROM view,資料庫層處理複雜邏輯。
語法與資料表索引幾乎相同,僅將資料表名換成檢視表名。圖形化介面中,於 Grid 窗格右鍵選「管理索引」即可。索引鍵欄位須具決定性,檢視表需符合 SCHEMABINDING 等條件。
CREATE VIEW vw_SalesSummary
WITH SCHEMABINDING
AS
SELECT ProductID, SUM(Amount) AS TotalSales
FROM dbo.Sales
GROUP BY ProductID
CREATE UNIQUE CLUSTERED INDEX IX_vw_SalesSummary
ON vw_SalesSummary (ProductID)
善用檢視表索引,可將複雜查詢效能提升數量級,是資料庫調優利器。