1

列に沿って分割されたファクト テーブルがありPeriodDateます。

CREATE TABLE MyFactTable
(
    PeriodDate DATE,
    OrderID INT 
         CONSTRAINT MyFk FOREIGN KEY (OrderID) REFERENCES DimOrder(ID)
)

列にパーティション アライメント インデックスを作成したいのですがOrderID、BOL からわかったようにPeriodDate、インデックスをアライメントするにはパーティション キー ( ) を含める必要があります。

このような:

CREATE NONCLUSTERED INDEX MyAlignedOrderIdIndex 
ON MyFactTable (OrderID, PeriodDate);

私の質問は、上記のインデックスに 2 つの列をどの順序で配置する必要があるかということです。

  1. ON MyFactTable (OrderID, PeriodDate);

また

  1. ON MyFactTable (PeriodDate, OrderID);

私が BOL で読んだように、複合インデックスでは順序が重要であり、クエリは通常、OrderIDDim テーブル データの検索に使用されます。

最初OrderID, PeriodDateの順序は論理的な選択のように思えますが、私はパーティショニングに慣れていないため、テーブルに何百万もの行がある場合にどのように「それが好き」になるかわかりません。

ここでベストプラクティスは何を指示しますか?

4

1 に答える 1