3

次のパターンの使用を指摘するさまざまな記事を見てきました。

  • ID( uniqueidentifier) : PK、クラスター化されていない
  • ClusteredID( int) : INDEX、クラスター化 (IDENTITY)
  • 私の他のコラム(いろいろ)

このパターンについての私の解釈では、(これは多くの状況で役立ちます) を使用してレコードを識別できますが、生成された列値uniqueidentifierの順序が増分するため、クラスター化インデックスがそれほど断片化されないことを意味します。int identity

これまでのところ、これはすべて私にとって理にかなっています。

私が完全に理解していないのは、次のことです。

一意の識別子が の場合、uniqueidentifier関連するテーブルでこれを FK として使用することは理にかなっています。これで、2 つのテーブルを結合する select ステートメントを実行するSQL Serverと、 で結合が実行されますuniqueidentifiers。ただし、実際にはクラスター化されているのは int インデックスであるため、int でのクラスター化は結合のパフォーマンスに役立たないと考えていました。

上記の仮定が正しければ、クラスター化された int インデックスを追加する利点を理解していません。

したがって、私の仮定は正しくないと思います。私の考えのどこが間違っているのか誰か教えてもらえますか?

4

0 に答える 0