For Want Of A Better Word

[mysql][db]データ増大に伴う、データ表示処理・データ蓄積処理の変更履歴…

   

背景

ログの蓄積について、とりあえずでやっていたら処理がドンドンおもくなっていき、それにつれ、対応を変えていったのでその履歴のメモ。

 

最初の要望:アクセスログから、アクセスページとユーザーIDのユニークな組み合わせを取得し、webで表示したい。

GROUP BY url, user_idで簡単に取れる。

 

しかし、件数が増えるにつれWEBから都度SQL発行では遅すぎる。

 

次の対応:バッチで日次でサマリーテーブルにデータを入れておこう。

webでつかったGroup BYの結果をそのままテーブルに保存。

これをwebから参照しよう!!

しかし、これも件数が増えるにつれ。。。1時間以上かかるように….

 

 

次の対応:毎日追加分のログだけインサートしよう(そりゃそうだけど)

データの有無をプログラムでチェックすればいいけど、ちょっと面倒くさいな。

主キーが重複したら、入らず処理を続行してくれればよいだけなので…一意制約違反を無視してしまえ。

 

IGNORE さまさまーー。

次はどんなことになるかな….

 - db, mysql

  関連記事

[mysql]どういうSQL文のとき、どういうインデックスが使われるのか整理

mysqlのチューニングをしていて、どうしてもインデックスが、どの指定の時に何が …

[sql][mysql]URLのパラーメータ削除 + index.html の 削除

よく忘れるのでメモ。 ログを集計するときに、パラメータを削除したり、URLの/と …

[sql][mysql]特定グループ毎に最大の値を持つ行を取得する(相関サブクエリー、JOIN)

標題のとおり ぱっと考えるとMAX()でとればいいように思えるが、GROUP B …

xamppの旧バージョンダウンロード

案件ごとにいろんなphp apacheのバージョンを組み合わせるのが面倒臭い。 …

[PHP][PDO]prepareでのバインド方法整理

データをstmtに渡す部分をちょくちょく待ちがえて混乱するのでメモ 参考:htt …