MYSQL & アクセス分析などについて
created: 2005-03-09 22:21 | modified: 2005-03-12 02:24 | reply: 2
[2162] MYSQL & アクセス分析などについて
user: オレンジ | created: 2005-03-09 22:21
こんばんわです。
/*******カウンタについて******/
今アクセスカウンタを製作中なのですが、
時間別・日別カウンタは表示できるようになったのですが、
月別(総合)表示がどうしてもできません。
./log/年-月/(月別のtxtファイル)にあるデータを
$dir=@opendir("./log/"); //問題点
while($file = readdir($dir)) {
if (!is_dir($file)){
/*****ここで月ごとのログ呼び出し****/
}
}
closedir($dir);
と呼び出せばできるはずなのですが、
//問題点 にあるように、
./log/の下にさらに月ごとのフォルダがあるので、
どうやって指定していけば良いのかわからないのです。
MYSQLでやった方が簡単なのでしょうか?
/********MYSQLについて*************/
でもMYSQLで心配なのは、
auto_incrementでidを作った場合、
idの数量には限界があるらしいということです。
(何億単位ですが…)
この限界を超えた場合どうなるか、
それがネックになっています。
(超えることはまずなさそうですが…)
それとMYSQLって容量はあるんでしょうか?
普通にwindowsにあるファイルの容量と比較しても変わりはないのでしょうか?
検索などでは便利なんですが、
他のメリットを教えてください。
/********その他**********/
スクリプトにページをつけ、
他のページに移動しようとすると、
「ページを表示できません」と時々出る。
こういう場合って、
コードの書き方に原因があるのでしょうか?
オブジェクト指向とかSmartyなるものが、
あるようですが、
これらを使ったほうが良いのでしょうか?
以上です。
毎回のことですが、
色々聞いて申し訳ないです。
/*******カウンタについて******/
今アクセスカウンタを製作中なのですが、
時間別・日別カウンタは表示できるようになったのですが、
月別(総合)表示がどうしてもできません。
./log/年-月/(月別のtxtファイル)にあるデータを
$dir=@opendir("./log/"); //問題点
while($file = readdir($dir)) {
if (!is_dir($file)){
/*****ここで月ごとのログ呼び出し****/
}
}
closedir($dir);
と呼び出せばできるはずなのですが、
//問題点 にあるように、
./log/の下にさらに月ごとのフォルダがあるので、
どうやって指定していけば良いのかわからないのです。
MYSQLでやった方が簡単なのでしょうか?
/********MYSQLについて*************/
でもMYSQLで心配なのは、
auto_incrementでidを作った場合、
idの数量には限界があるらしいということです。
(何億単位ですが…)
この限界を超えた場合どうなるか、
それがネックになっています。
(超えることはまずなさそうですが…)
それとMYSQLって容量はあるんでしょうか?
普通にwindowsにあるファイルの容量と比較しても変わりはないのでしょうか?
検索などでは便利なんですが、
他のメリットを教えてください。
/********その他**********/
スクリプトにページをつけ、
他のページに移動しようとすると、
「ページを表示できません」と時々出る。
こういう場合って、
コードの書き方に原因があるのでしょうか?
オブジェクト指向とかSmartyなるものが、
あるようですが、
これらを使ったほうが良いのでしょうか?
以上です。
毎回のことですが、
色々聞いて申し訳ないです。
[2170] いろいろ
user: ゆうじ | created: 2005-03-11 02:47
こうしてみたらいかがでしょう。
MySQLの容量やauto_incrementの限界についてはよく知りませんが、
億を越えるようなレコードが必要ならば
パフォーマンス的な観点から
テーブル設計を考え直す必要があると思います。
月ごとにテーブルを分けるとか。
「ページを表示できません」については、
それだけではさっぱりわかりません。
まずはApacheのアクセスログやエラーログをみて
何が起こってるのか把握することが先決ではないでしょうか。
Smartyなどのライブラリは人気のようですね。
簡単に効率よくアプリケーションを作ることができるそうですが私は使ってません。
使ったほうが良い場合、そうでない場合、
状況にあわせて使い分ける物ではないでしょうか。
といっても使わずに使い分けることも出来ませんから
興味があるならばトライしてみては。
オブジェクト指向プログラミングは、
効率よくプログラムを書くための『手法』です。
一口では言い現せませんが、効率よく出来るか否かは
センスが物を言うところが大きいです。
基本をしっかり押さえた上で
「オブジェクト脳の作り方」(Javaの本)などを読んで
じっくり時間をかけて取り組んでみてください。
$logdir = './log/';
$dir=@opendir($logdir);
while($man = readdir($dir)) {
if (!is_dir($man)){
$log = file_get_contents($logdir.$man.'/log.txt');
// ここで読み込んだログ($log)の処理
}
}
closedir($dir);
MySQLの容量やauto_incrementの限界についてはよく知りませんが、
億を越えるようなレコードが必要ならば
パフォーマンス的な観点から
テーブル設計を考え直す必要があると思います。
月ごとにテーブルを分けるとか。
「ページを表示できません」については、
それだけではさっぱりわかりません。
まずはApacheのアクセスログやエラーログをみて
何が起こってるのか把握することが先決ではないでしょうか。
Smartyなどのライブラリは人気のようですね。
簡単に効率よくアプリケーションを作ることができるそうですが私は使ってません。
使ったほうが良い場合、そうでない場合、
状況にあわせて使い分ける物ではないでしょうか。
といっても使わずに使い分けることも出来ませんから
興味があるならばトライしてみては。
オブジェクト指向プログラミングは、
効率よくプログラムを書くための『手法』です。
一口では言い現せませんが、効率よく出来るか否かは
センスが物を言うところが大きいです。
基本をしっかり押さえた上で
「オブジェクト脳の作り方」(Javaの本)などを読んで
じっくり時間をかけて取り組んでみてください。
[2173] 解決しました
user: オレンジ | created: 2005-03-12 02:24
お手数お掛けしてすみません。
勉強になりました。
もっと基礎力をつけて、
オブジェクト指向などに挑戦したいと思います。
勉強になりました。
もっと基礎力をつけて、
オブジェクト指向などに挑戦したいと思います。