フィールドのさまざまな組み合わせに対して多くのカウントを提示する必要があるテーブルがあります。これはオンザフライで行うにはかなりの時間がかかり、履歴データは提供されません。そのため、これらのカウントをタイムスタンプとともに別のテーブルに保存する最善の方法を考えています。これにより、それらをすばやくクエリして履歴トレンドを取得できます。カウントごとに、それを識別するために 4 つの情報が必要であり、保存したい約 1000 の異なるメトリックがあります。私は 3 つの異なる戦略を考えています。カウントとタイムスタンプがありますが、取得するカウントを識別する方法は異なります。
- カウントを識別するための 4 つのフィールドを持つ 1 つのテーブル。4 つのフィールドは、異なる外部テーブルからのデータが含まれているため、正規化されません。
- 1 つの「タグ」フィールドを持つ 1 つのテーブル。4 つの情報がタグとして含まれます。このタグを強化して別のテーブルに保持し、タグ部分ごとにフィールドを持ち、それらを外部テーブルにリンクすることができます。
- 1 つまたは複数のフィールドで正規化できるように、カウントのグループごとに異なるテーブルが必要ですが、これには 6 から数十のテーブルが必要になります。
まったく正規化されていない最初のものを使用しますが、このすべてのカウントを保存するためのより良い方法または簡単な方法があるかどうか疑問に思っています。
値のサンプル: status,installed,all,virtual,1234,01/05/2015
- 最初のフィールド、ステータスには最大 10 個の値を指定できます
- インストールされた 2 番目のフィールドは、異なるフィールドごとに最大 10 個まで持つことができます 1
- 3 番目のフィールド all は、最大 10 個の異なる値を持つことができますが、すべてのカテゴリで同じです
- 4 番目のフィールドである virtual は、最大 30 個の値を持つことができ、以前のすべてのカテゴリでも同じになります。
- 最後の 2 つのフィールドは数値とタイムスタンプです
ありがとう、アイザック