2016-12-02 86 views
2

如果我希望針對SQL Server數據庫創建新索引,如何防止索引現有數據?即只有新數據應該用這個索引。我很擔心索引大小。SQL Server:如何防止索引現有數據的新索引

+2

你爲什麼要這麼做?如果您有一個顯示舊數據和新數據的標誌,您可以查看過濾的索引並過濾掉舊數據。 –

+0

我很擔心索引大小,因爲有很多現有數據,我不需要將索引應用於舊數據。 –

+4

A [* Filtered Index *](https://msdn.microsoft.com/en-us/library/cc280372.aspx)? - 真的需要有一個令人信服的理由來做到這一點。 –

回答

3

使用過濾索引

篩選索引是SQL Server中的新功能,2008篩選索引被用於索引,這意味着它的錶行的部分過濾器適用於指數,這可提高查詢性能,降低指數維護成本,並減少指數存儲成本與全表索引
Ex: CREATE NONCLUSTERED INDEX NCI_Department 
    ON HumanResources.Employee(EmployeeID) 
    WHERE Title= 'Marketing Manager' 

有關更多信息,請參考下面的鏈接相比:
https://www.simple-talk.com/sql/performance/introduction-to-sql-server-filtered-indexes/

http://blog.sqlauthority.com/2008/09/01/sql-server-2008-introduction-to-filtered-index-improve-performance-with-filtered-index/