2009-03-24 17 views

答えて

7

SQL Server 2008以降、no。しかし、16以上の列にクラスタード・インデックスが必要な場合は、ボトルネックが他の場所にあると思われます。

2

さらに、組み合わせた鍵サイズで合計900バイトのデータに制限されています。

Create Index referenceページからの引用

最大16個の列を1つの複合インデックスキー に結合することができます。コンポジットインデックスキー内のすべての 列は、同じ表またはビューにある である必要があります。 インデックス値の合計の最大許容サイズは、 で、900バイトです。複合インデックスの可変タイプ 列に関する詳細については、 を参照してください。 備考を参照してください。

2

クラスタ化インデックスの最大16個の列は、純粋な狂気によって完全に克服できます。あなたがコンピュータから永遠に拘束されているようなもので、このようなことを試みることは決してできません。

したがって、これはできません。

+0

私はあなたがdownvotedされた理由を理解することができますが、あなたの感情を理解することができますあなたはあまり攻撃的な方法で単語を再入力する必要があります –

+0

ok fair enough ';テーブルユーモアを作成する(id1 int); - – cjk

1

他の人が指摘しているように、これは不可能であり、望ましくない。クラスタ化インデックス からキーの値を検索キーとして、すべての非クラスタ化インデックス で使用されている

:クラスタ化インデックスは、広いキーbecauseのために良い選択ではありません。非クラスタ化インデックス エントリはその 非クラスタ化インデックスに対して定義されたクラスタ化キーとも キー列が含まれているため 同じテーブルで定義された任意の 非クラスタ化インデックスが大幅に 大きくなります。

クラスタ化されていないインデックスに満足している場合、SQL Server 2005以降では、Included Columnsを使用して900バイト、16列の制限を克服できます。

1

いいえ、16が上限です。

しかし、これらのキーを1つのハッシュ値に組み合わせることができます。これは速度を上げるはずです。 ofcurseのハッシュ値にはインデックスを付ける必要があります。

関連する問題