私は従業員目標ウェブアプリケーションを作成しています。データベースアーカイブと時間枠ベースのテーブル/フィールド
リード/マネージャーは、チームメンバーの目標を、チームメンバーと議論した後に設定します。これは、組織が従う審査サイクルに応じて、年1回、半年毎、または四半期ごとに行われます。
ここで、期間ベースのフィールドを追加したり、前四半期/年のデータをアーカイブする方が良い方法です。ユーザーが過去の目標(あまり頻繁ではない活動)を見たい場合、その日付に属するアーカイブを一時テーブルにリストアして従業員に表示することができます。
アーカイブを開始する
ポイント:DBのサイズを縮小し、より単純なDBクエリの結果は、誰かが古いデータを参照しようとしたオーバーヘッドが追加されます。
時間ベースのフィールド/テーブル:クエリの1つ以上の余分な結合。以前のデータは現在のデータと同様に扱われるため、古いデータを取得する際のオーバーヘッドはありません。
PS:これはスペースコストではなく、パフォーマンス面で最適化を達成できるかどうかです。これはWebアプリであり、ピーク時にはすべての従業員が探しています。期間を削除すると、クエリがより簡単になります。 ありがとう
時間フィールドを提供しない利点は、挿入/更新/削除に関連するクエリがはるかに簡単になることです。だから私たちは、パフォーマンスとスケーラビリティを向上させることができます:) –