0

システム内のすべてのユーザーの統計があります。これらの統計は頻繁に更新する必要があります。

統計は次のようになります。

Campaign : Performance
Campaign : Performance

各キャンペーンには、MYSQLの別のテーブルに保存された独自のデータがあります。パフォーマンスメトリックは、ユーザーごとおよびキャンペーンごとに頻繁に更新する必要があります。5000人以上のユーザーのために更新する必要がある1000以上のキャンペーンがあります。

最初は、データを「campaignId-Performance、campaignId2-Performance、...」として格納するだけの巨大なVARCHAR列を作成することを検討しました。

DBにクエリを実行すると、これらのキャンペーンは最初に国で検索され、次にパフォーマンスの高い順に降順で検索されます。COUNTRYデータはキャンペーンテーブルに保存されます。私の新しいテーブルでは、すべての国の列を作成し、そのようにそれぞれのパフォーマンスでキャンペーンを分割することを検討していました。それがより効率的かどうかはわかりません。

この貧弱な説明で、私は誰かが最適な構造を提案できることを望んでいます。ありがとう!

4

2 に答える 2

1

このパフォーマンスを3列のテーブルに格納することをお勧めしますcampaignID,userID,performance。これにより、必要に応じて情報をクエリするための柔軟性が最も高くなります。キャンペーンごと、またはユーザーごとにパフォーマンスを簡単に集計します。キャンペーンテーブルにすばやく参加すると、国ごとに集計することもできます。

于 2012-08-17T16:48:11.597 に答える
0

では、1000のキャンペーンと5000のユーザーを含むMySQLデータベースを構築していますか?キャンペーンには各国のパフォーマンスが含まれていますか?その場合は、Countryという名前の列の後にPerformanceColumnを作成することをお勧めします。また、で情報を表示しようとしているものを知っておくと役立ちます。

于 2012-08-17T16:23:54.383 に答える