かなりの量のデータを格納するデータベース構造を計画しています。項目ごとに 50 の異なる「列」のデータを保存する必要があります。タイムスタンプを追加すると、52 列 (および、このデータをフィルター処理する唯一の方法となる 2 つのインデックス) が得られます。このデータベースには、毎日数千行が追加され (更新されることはありません)、しばらく使用されます。
そのため、私の最初の選択は、すべてを 1 つのテーブルに押し込むことでした。52列が悪いのか何か?あまり考えたことはありませんでした。確かに、挿入コードはいらいらするでしょうが、私がそれらを手で書くつもりはありません。
それをいくつかのテーブルに分割する必要がありますか (その後、結合などを使用しますか?)、またはテーブルがそれほど大きくても問題はありませんか? それが違いを生む場合、私はmysqlを使用しています。
追加: データの使用方法を明確にするために:
- 並べ替えとフィルター処理は、インデックス付きの列に対してのみ行われます。
- 現在の計画では、データは「人による消費」に使用されるため、常に行全体にアクセスします (必要に応じて csv などに出力します)。
- 削除や更新はありません。多くの挿入があり、(あまり頻繁ではありませんが) 選択があります。
- データベース内の他のデータとの「リンク」(外部キーなど)は一切ありません
- すべてのデータは同じものに関連しています。それを正規化する「明白な」方法はありません。テーブルに分割すると、並べ替えのカテゴリがデータに入れられ、そのように保存されます。