2011-10-18 5 views
0

私は、mysqlデータベースを大部分は読み取り専用とするアプリケーションの操作を追跡したいと思います。私は操作メトリクスを追跡するためのより良い方法があることを知っていますが、素早く汚れたスタートとして、datehour_of_the_dayの列を持つテーブルを持つことは恐ろしいでしょうし、countの列は、その時?mysqlの1行のカウンタ列を連続的にインクリメントするのは悪いですか?

ほんの数行に多くの競合があるでしょうか?これはイベントごとに新しい行全体に作成する方が望ましいですか?

+0

など、あなたがそれぞれevent typeは、このようなイベントの名前として、説明が何であるかを指定する場所にイベントタイプのテーブルにリンクすることができ、それはあなたが動作/保存するために必要なデータに依存し、あなたが望むことを目指して達成する。 – user973254

+0

「正しく正規化されたデータ」と「キャッシュされたデータ」を分けて保存することを検討します。 「キャッシュされたデータ」は、「正常に正規化されたデータ」、例えばトリガー、DALビジネスルール、または定期的(同じデータベース内にある必要はない)から構築することができます。つまり、*モデルをきれいに保つ* - "パフォーマンス"が這い上がり、それを汚染させないでください。 –

答えて

2

私は悪い考えではないこのルートに行くつもりなら、イベントごとに新しい行を作成したいかもしれません。 event type(ID)、datetime of eventなどの列を持つことができます。特定のイベントタイプに対してcount()クエリを実行すると、イベントをカウントできます。

次にあなたが

関連する問題