テーブル設計について質問です。


アクセス解析のようなASPを考えていまして、生ログを格納するテーブルをユーザー一人毎にテーブルを作るか、全体で1つにするかで迷っています。全体で1つにする設計での運用経験はあるのですが、ユーザー一人1テーブルでの運用経験がなくどういった問題が発生するのかが漠然としかわかりません。テーブルが分かれることでSQL1発で全体を集計できないとかそういうことぐらいしか想像がつきません。

生ログを解析する内容に左右されるところは大きいのですが、何かアドバイスを頂けたらと思います。

DBはMySQL4.1です。よろしくおねがいします。

回答の条件
  • 1人2回まで
  • 登録:2006/03/17 09:06:00
  • 終了:2006/03/17 10:54:26

回答(3件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/03/17 09:14:52

ポイント35pt

ユーザー単位で、ログテーブルを作るような設計は、私も 見かけたことがないですね。

というか、一回で検索できないですね。

何月何日にアクセスしたユーザーは?

というのを調べると、すべてのユーザーテーブルを調べないとダメです。

そのユーザーテーブルを管理するテーブルも必要となります。

SQLの発行回数が増えると、処理も遅くなります。

メリットはないと思いますよ。

id:web_pub_op No.2

web_pub_op回答回数29ベストアンサー獲得回数12006/03/17 09:51:50

ポイント35pt

ユーザが増減するような場合、各ユーザのテーブルの管理も

大変になりませんか?

ユーザが 1 万人だとすると、1 万個のテーブルを管理しなくては

なりません。

全体で1つにする設計が一般的ではないでしょうか。

全体ログのテーブルに、「ユーザID」 等のカラムを作成すれば

良いのでは?と思います。

ユーザが決まっていて、それぞれのユーザ毎に格納する

ログ情報が異なる、解析内容が異なる等の理由があれば、

ユーザ毎にテーブルを作成するのもありかと思います。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 kn1967 2915 2772 301 2006-03-17 10:51:57

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません