3
高選択性フィールドと低選択性フィールドを持つ複合インデックス順のフィールド順
30億行を超えるSQL Serverテーブルがあります。クエリの1つに非常に長い時間がかかるため、最適化を検討しています。クエリは次のようになります。 SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Enroll_Date]は選択可能な値が50未満の選択性の低い列ですが、UserID列は2億を超える個別の値を持つ選択性の高い列です。私の研究に基づいて、私はこれらの2つの列に非クラスター化複合インデックスを作成する必要があると考えています。理論的には、高選択性の列が最初の列である必要があります。しかし、私の場合、group by句で低選択性カラムを使用しているため、うまくいくかどうかはわかりません。 このテーブルにはクラスター化インデックスがありません。