2009-05-04 16 views
4

ここでは、パフォーマンス上の理由から、uniqueidentifier列にクラスタードインデックスを持つことは基本的にはないことを示しています。それにもかかわらず、プライマリキーとしてuniqueidentifierを使用する必要があります。生成された値が互いに似ているため、newsequentialid()を使用する必要はありません(ユーザーが[合理的に '推測]別のID)。SQL Serverの一意の識別子列にクラスタ化された/非クラスタ化インデックス

このPKをインデックスする最良の方法は何ですか?この列のクラスタード・インデックスは理想的ではありませんが、「ユニークでクラスター化されていない」インデックスよりも優れていますか?

あなたは、あなたが困っている(単にランダム見ているよりも多くの)ランダム性を達成するためにNEWID()を使用しようとしている場合、私は、SQL Serverのにすべての2005

答えて

9

ファーストを使用しています。

他のインデックスがクラスター化インデックスキーを参照し、長いクラスター化インデックスキーがすべてのインデックスのパフォーマンスを低下させるため、通常は理想的ではありません。 IDENTITY整数列を作成し、それをクラスタ化インデックスにして、uniqueidentifier列にクラスター化されていないユニークなインデックスを作成することができます。

関連する問題