phpの質問なのかmysqlの質問なのかわからないのですが、
やりたい事がphpを使って操作する事なのでこちらで質問させて頂きます。

php+mysqlでアクセス解析を作りたいのですが、UA、リファラー、現在の日時等を取得して、
UA、リンク元、累計アクセス数、日別・月別・曜日別アクセス数などを表示したい場合、
全て1つのテーブルに保存するのと、項目ごとに別のテーブルに保存するのではどちらが効率的でしょうか?

書き方がわかりにくいと思いますが、全て1つのテーブルに保存する場合、
1行目 useragent=IE6, referer=http〜, date=2008/1/1 0:00:00
2行目 useragent=IE5, referer=http〜, date=2008/1/1 0:00:00
という形になり、テーブルの内容を全て配列に入れてからphp側で検索・ソート等して出力するか、
表示したい項目ごとにデータベース側で検索して出力する事になると思います。

項目ごとにテーブルを作る場合、
テーブル「useragent」
name count
IE6  2
IE7  5
という形になり、テーブルの内容をほとんどそのまま出力すればいいだけになります。

アクセス時の処理では前者の方が後者より速く負荷もかからないと思うのですが、
表示時の処理はログが増えるほど前者が後者より遅く、高負荷になるのではないかと考えています。

mysqlについてはphpmyadminで軽く触った程度なので、根本的に間違っているor意味不明な質問かもしれませんが、
「ここはおかしい」や「こうした方がいい」等のアドバイスでも構いませんので、ご回答お願い致します。