close

Indexed View在網路上已經可以找到很多文章了,

但這個功能對於MSSQL效能的應用實在重要,

 

建立indexed view的注意事項

1. WITH SCHEMABINDING

2. 使用兩節式物件描述. ex : [schema_name].[table_name]

3. 最後建立clustered index

 

T-SQL : 

CREATE VIEW [schema_name].[view_name]
WITH SCHEMABINDING
AS
select_statement
GO

CREATE UNIQUE CLUSTERED INDEX [index_name]
ON [schema_name].[view_name] (column [ ,...n ]);
GO

 

在此記錄查詢indexed view時自己主要參考的幾篇文章,

(具執行計畫的比較)

建立索引檢視(Indexed View)來提高查詢效能

[SQL SERVER][Performance]善用Indexed View#1測試

SQL Server Indexed Views: The Basics

 

對我個人來說容易忽略是

indexed view可以接受多筆NULL當作unique cluster index欄位的值,

一般的unique index只能允許一筆.

 

另外,使用View效能注意

可參考兼愛非攻的檢視表(View)文章,我個人會注重有

1. 避免使用nested view,會增加調校難度

2. 大部分可用stored procedure來取代,預編譯的執行計畫可提高效能

3. 使用indexed view提高效能.

並且文中寫到一點,僅企業版SQL Server的最佳化工具會自動使用indexed view的索引.

(其他要使用WITH (NOEXPAND)暗示指定使用indexed view中的索引)

 

 

arrow
arrow
    文章標籤
    IV indexed view
    全站熱搜
    創作者介紹
    創作者 abcg5 的頭像
    abcg5

    Aaron Yang

    abcg5 發表在 痞客邦 留言(0) 人氣()