1

MS-SQL でインデックス付きビューを分割するにはどうすればよいですか? 値の範囲を格納するインデックス ビューを作成しました。ビューの定義は次のとおりです。

CREATE VIEW dbo.target_individual_product WITH SCHEMABINDIN       
    AS SELECT day_dim.date_time AS Date,  
    SUM(ISNULL(order_dim.quantity,0)) AS Target_Acheived,  
    branch_dim.branch_name AS Branch_Name ,   
    product_dim.product_name AS Product_Name  
FROM dbo.day_dim INNER JOIN  
     dbo.order_fact ON day_dim.day_id = order_fact.day_id  
INNER JOIN dbo.product_dim ON order_fact.product_id = product_dim.product_id   
INNER JOIN dbo.branch_dim ON order_fact.branch_id = branch_dim.branch_id   
INNER JOIN dbo.order_dim ON order_fact.order_id = order_dim.order_id  
GROUP BY order_dim.quantity, day_dim.date_time,branch_dim.branch_name, product_dim.product_name  
GO
CREATE UNIQUE CLUSTERED INDEX target_individual_product_I on target_individual_product (Date)

今、日付列を使用してこのテーブルを分割したいと思います。それ、どうやったら出来るの ?

4

2 に答える 2

2

パーティショニングの経験はほとんどありませんが、混乱していると思います。(達人、私が間違っている場合は修正してください)。

私の知る限り、SQL Server には 3 種類のパーティション分割があります

分割テーブルは、日付などの列で分割できます。

分割ビューUNIONは、異なるテーブルからの同様のクエリ間を指定するビューです。

パーティション分割されたインデックス付きビューは、リンク先のパーティション テーブルと同じ列に沿ってパーティション分割されたインデックス付きビューです。

基になるテーブルを分割せずにインデックス付きビューを分割することはできないと思います。したがって、列でパーティションを作成し、この列に一致するようにパーティションに合わせて配置されたインデックス付きビューを作成することをお勧めしday_dimますdate_time。このリンクを参照し、クエリ 11 までスクロールして、これを行う方法の例を確認してください。

于 2010-11-17T10:57:58.103 に答える
1

「パーティションに合わせた」インデックスを探しているようです。パーティショニングは SQL 2008 Enterprise Edition でサポートされています (バージョンやエディションについては言及していません)。パーティション分割されたインデックスについては Books Online で説明されていますが、パーティション分割されたビュー インデックスについての説明はありませんが、それは可能であり、こちらのホワイト ペーパーで説明されています (このペーパーの最後にあるクエリ 11 を参照してください)。

http://msdn.microsoft.com/en-us/library/dd171921.aspx

于 2010-11-17T10:57:48.660 に答える