インデックス付きビューを作成する
2016/11/4
文書番号:20602
SQL Server ではビューにインデックスを設定してパフォーマンスの向上を図ることができます。
インデックス付きのビューを作成するには以下の条件があります。
インデックス付きのビューを作成するには以下の条件があります。
- CREATE VIEW ステートメント実行時、ANSI_NULLSオプションとQUOTED_IDENTIFIERオプションがONに設定されていること。
- ビューで参照するベーステーブルの作成時にもANSI_NULLSオプションがONに設定されていること。
- ビューが参照しているのはベーステーブルのみで、他のビュー参照していないこと
- ビューで参照されるすべてのベーステーブルは、ビューと同じデータベース内に存在し、ビューと同じ所有者であること。
- ビューはWITH SCHEMABINDINGオプションを使用して作成されていること。
- ビューで参照されるユーザ定義関数は、SCHEMABINDINGオプションを使用して作成済みであること。
- ビューでは、テーブルとユーザ定義関数について、スキマー名.オブジェクト名の2つの要素で構成される名前で参照すること。
- ビュー内の式で参照される関数は決定的であること。決定的であるとは、関数の引数に同じ値を渡した場合、常に同じ値が返される状態を指す。これに対して、GETDATEやNEWID関数は、実行する度に異なる値が返されるので非決定的関数と言える。
【参考情報】
[TechNet] SQL Server 2005 インデックス付きビューによるパフォーマンスの向上
https://technet.microsoft.com/ja-jp/library/cc917715.aspx
https://technet.microsoft.com/ja-jp/library/cc917715.aspx