テーブルにインデックスを追加したいと考えています。テーブルにインデックスを追加する方法の一般的なアイデアを探しています。クラスター化された PK 以外。これを行うときに何を探すべきかを知りたいです。だから、私の例:
このテーブル (TASK テーブルと呼びましょう) は、アプリケーション全体で最大のテーブルになります。数百万のレコードを期待しています。
重要: 大量の一括挿入により、このテーブルにデータが追加されます
テーブルには 27 列あります: (これまでのところ、カウント :D )
int x 9 列 = id-s
varchar x 10 列
ビット×2列
日時×5列
整数列
これらはすべて INT ID ですが、通常はタスク テーブル (最大 10 ~ 50 レコード) よりも小さいテーブルからのものです。例: ステータス テーブル (「オープン」、「クローズ」などの値) または優先度テーブル (「」などの値)重要」「あまり重要ではない」「普通」)「親ID」(自己ID)みたいな欄もあります
結合:すべての「小さな」テーブルにはPKがあり、通常の方法で...クラスター化されています
文字列列
「常に5文字の長さ」のような(会社)列(文字列!)があり、すべてのユーザーはこれを使用して制限されます。タスクに 15 の異なる「会社」がある場合、ログインしたユーザーには 1 つしか表示されません。したがって、これには常にフィルターがあります。この列にインデックスを追加することをお勧めしますか?
日付列
彼らはこれらを索引付けしていないと思います...そうですか?それともできる/すべきですか?