2014-02-06 59 views
-1

這可能很簡單。我正在使用SQL Server Management Studio,我想在我的View上放置一個索引。選擇一個字段作爲主鍵的選項是灰色的。如何將索引添加到SQL視圖?

任何幫助,將不勝感激!謝謝!

+1

這個問題缺乏足夠的信息來幫助我們。你的問題應該包含你爲解決問題所做的嘗試。 – Kermit

+0

@FreshPrinceOfSO我正在使用SQL Server Management Studio。對於表格,可以在字段上設置索引。但在視圖設計師這是灰色。這是我意識到的唯一嘗試。 – mntyguy

回答

1

您無法在普通視圖上創建索引,因爲視圖只是每次引用視圖時都會運行的保存查詢。它將在適當的情況下簡單地在視圖本身引用的基礎表上使用索引。視圖返回的數據並不是真的存在在任何地方磁盤上的形式,因此沒有什麼可以創建索引。

但是,幾個數據庫平臺有能力基本上緩存磁盤上的視圖的內容,就好像它是一個表本身。他們可以檢測基礎數據何時更改,然後更新視圖。 Oracle稱之爲materialized view。 SQL Server(堅持使用明顯的名稱)稱這是一個Indexed View。對於這些視圖你可以做什麼當然有限制,我經常發現他們很難爲涉及大量表的複雜查詢工作。但是,對於基本的東西,他們應該工作得很好。