SQL Server で動作するプログラムに取り組んでいます。
データベーステーブルにデータを保存するため、次のアプローチのどれが正しいですか?
1 つのテーブルに多くの行を格納 (1000 万レコード)
複数のテーブルに少ない行を保存 (500000 レコード) (例: 毎年 1 つのテーブルを作成)
SQL Server で動作するプログラムに取り組んでいます。
データベーステーブルにデータを保存するため、次のアプローチのどれが正しいですか?
1 つのテーブルに多くの行を格納 (1000 万レコード)
複数のテーブルに少ない行を保存 (500000 レコード) (例: 毎年 1 つのテーブルを作成)
データにアクセスする頻度によって異なります。古いレコードを使用していない場合は、それらのレコードをアーカイブできます。データのフェッチ中に混乱する可能性があるため、テーブルの分割は望ましくありません。
まあ、それは依存します!データをどうするつもりですか?このデータを何度もクエリしている場合は、データを (たとえば) 年表に分割する方が良い解決策になる可能性があります。そうすれば、より小さなテーブルをクエリする必要があるため、パフォーマンスが向上します。しかし、反対側に。より大きなテーブルと適切なクエリを使用すると、パフォーマンスの問題さえ見られない場合があります。このデータのみを保存する必要がある場合は、1 つのテーブルのみを使用することをお勧めします。
ところで、このデータをデータベースにロードするには、BCP (一括コピー) を使用できます。これは、多数の行をすばやく挿入する方法です。