このようなSQLでインデックス付きビューを作成しました:
Select Table1_ID, Count_BIG(*) as Table2TotalCount from Table2 inner join
Table1 inner join... where...
また、ビューを作成した後、列 Table1_ID にクラスター化された一意のインデックスを設定します。
したがって、ビューは 2 つの列で構成されます。
Table1_ID
Table2TotalCount
2 つの質問があります。
- の代わりに
Count(1)
orを使用すると、SQL は Table1_ID にインデックスを設定することを許可しませんCount_BIG(1)
Count_BIG(*)
- 2 番目の列 ( ) の型をどのように制御できますか
Table2TotalCount
- SQL は、 この列に長い null 許容型を与えます。ただし、この列には int not nullable型を設定したいと考えています。ビューを作成した後、列の型を変更する方法が見つかりません。また、ビューの作成に使用する t-sql は、常に int 値をTable2TotalCountに返します。