0

サイトの使用状況に関するさまざまな統計を追跡するテーブルがあります。週に1回、これらの統計と他のテーブルの情報を使用して、複数のレポートで使用するさまざまな主要な指標を計算する予定です。これは、レポートにアクセスするたびに複雑なデータを計算しないようにするためです。これらのインジケーターは、「インジケーター」と呼ばれる別のテーブルに保存されます。

約あります。220か国の50の指標(つまり、各国ごとに50の指標のセット)。これらの数値が毎週計算されることを考えると、私は次の驚くべき数を取得します。

50 x 220=11,000回の挿入/更新

私のインジケーターテーブルは次のように構成されています。

id PK | type (TINYINT) | country_id (TINYINT) | year | week | value

...基本的に国ごとに異なる「タイプ」の50行を挿入/更新します。

私が聞きたいのは、私はここで完全に間違った方向に進んでいるのかということです。国を行(220列...)ではなく列として設定したほうがよいでしょうか?または、おそらく指標といくつかの柔軟性を失いますか?このような大量の挿入/更新は、一般的にどのように処理されますか?

よろしくお願いします。

結論:すべての貢献に感謝します。

4

1 に答える 1

1

私はあなたの正確なアプリケーションを知りませんが、これはまったく問題ではないはずです。挿入と更新はテーブルロックであってはなりません。私はあなたのユーザーが気付くことさえないと思います。

比較として、負荷がかかると、私のmysqlサーバーはほぼ3.5kクエリ/秒でピークに達します。

通常、使用率が低い時間帯にメンテナンススクリプトを実行する必要があります。r

于 2010-03-01T02:08:09.477 に答える