SQL Serverでのインデックス作成について学習しているところですが、クラスター化インデックスと一意のインデックスが混同されています。両方が一意のキー列に適用される場合例:PersonID。両方の違いは何ですか。
ありがとう。
一意のインデックスは、一意の制約を持つ単なるインデックスであり、それ以上でもそれ以下でもありません。クラスター化インデックスは、インデックスと一致するようにディスク上のデータを物理的に順序付けます。 1つの列だけを介してテーブル内のデータに頻繁にアクセスする場合に便利です。主キーを介して。また、テーブルに含めることができるクラスター化インデックスは1つだけです(もちろん、当然です)。
2つは無関係です:
あなたは4つすべての順列を持つことができます:
SQL Serverの「主キー」(PK)のデフォルトがクラスター化されているため、混乱が生じます。
ただし、「主キー」は常に一意である必要があります。 「unique」と「PK」の違いは、uniqueでは1つのNULLが許可され、PKではNULLが許可されないことです。
最後に、いくつかの数の制限
それについての大まかな考え方の1つは、電話帳について考えることです。クラスター化インデックスは、ページが書き込まれる順序です。その他のインデックスは、移動するページを示す個別のリストです。
たとえば、電話帳は姓で「クラスター化」されていますが、通りで検索して、偽の通りに住んでいる人が3,45ページと63ページにあることを示す別のリストを作成することもできます。
AFAIKのすべてのテーブルには、通常は主キーであるクラスター化インデックスを1つだけ含めることができますが、一意のインデックスをm個持つこともできます。