SQL Server 2012 で次の構造のファクト テーブルを使用しています。
CREATE TABLE [dbo].[factTable] (
[Id] BIGINT IDENTITY (1, 1) NOT NULL,
[Date] DATE NOT NULL,
[MinuteNumber] SMALLINT NOT NULL,
[CityId] INT NOT NULL, /* Foreign key to dimCity */
[Value] DECIMAL(12, 4) NULL
)
列に 100 のFILL FACTOR のクラスター化インデックスがあります。このテーブルに挿入されるデータは、ほとんどの場合、とDateの昇順です。DateMinuteNumber
知りたい - 特定のシナリオで Id 列が必要かどうか パフォーマンスへの影響はありますか?または、安全に削除できますか。
また、列にクラスター化インデックスを使用するだけで十分かどうか
Date(同じ日付、同じ日付、同じ分数のレコードが多数存在することになります)、または複数の列を組み合わせたクラスター化インデックスを使用する方がよいかどうかも知りたいです。また、どちらのアプローチのパフォーマンスとストレージへの影響は何ですか?
私はこれに慣れていないので、どんな助けでも大歓迎です。