クラスター化された複合主キーを持つ1億1100万行を超えるトランザクションテーブルがあります...
RevenueCentreID int
DateOfSale smalldatetime
SaleItemID int
SaleTypeID int
...SQL 2008 R2 データベースで。
アーカイブ プロジェクトのためにすぐにテーブルを切り捨てて再入力する予定です。そのため、インデックスを正しく取得する機会は、テーブルが切り捨てられてからになります。複合主キーを保持した方がよいでしょうか、それとも一意の自動インクリメント主キーに移行する必要がありますか?
テーブルのほとんどの検索は、DateOfSale 列と RevenueCentreID 列を使用して行われます。また、SaleItemID 列に参加することもよくあります。SaleType 列を使用することはほとんどありません。実際、一意性のために主キーに含まれているだけです。新しい売上高の挿入と削除にかかる時間(一晩で行われる)は気にしませんが、レポートを返す速度は気にしません。