たくさんの行(100億以上)があると予想されるテーブルのテーブルデザインを実験しています。すぐに頭に浮かぶいくつかのこと:
- 私が「トール」テーブルアプローチと呼んでいるものでは、各行には、このタイプに対応する値とともに、約25の「タイプ」の1つがあります。これを、各タイプの値のNULL可能列を含む単一の行を持つ「ワイドアプローチ」に変換する必要がありますか?これは、保守性の観点からは優れたアプローチではありませんが(「タイプ」を追加する必要がある場合はどうなりますか)、サイズを二次的に考慮して、パフォーマンスに関心があります。
- 行には日付のタイムスタンプがあります(分だけで十分なので、おそらくsmalldatetimeです)。表では、日時自体ではなく、日時に整数表現を使用する方がよいと聞いています。この日時は、クエリで頻繁に使用されることを期待しています(おそらく、クラスター化インデックスの一部である場合でも)。
私の主な関心事は、クエリのパフォーマンス、次にサイズの順です。大量のデータがテーブルにダンプされますが、変更または大きくなることはありません(おそらく、毎日または毎月の更新ですが、多くの更新ではなく、トランザクションと見なすものもありません)。