[mysql][db]データ増大に伴う、データ表示処理・データ蓄積処理の変更履歴…
背景
ログの蓄積について、とりあえずでやっていたら処理がドンドンおもくなっていき、それにつれ、対応を変えていったのでその履歴のメモ。
最初の要望:アクセスログから、アクセスページとユーザーIDのユニークな組み合わせを取得し、webで表示したい。
GROUP BY url, user_idで簡単に取れる。
しかし、件数が増えるにつれWEBから都度SQL発行では遅すぎる。
次の対応:バッチで日次でサマリーテーブルにデータを入れておこう。
webでつかったGroup BYの結果をそのままテーブルに保存。
これをwebから参照しよう!!
しかし、これも件数が増えるにつれ。。。1時間以上かかるように….
次の対応:毎日追加分のログだけインサートしよう(そりゃそうだけど)
データの有無をプログラムでチェックすればいいけど、ちょっと面倒くさいな。
主キーが重複したら、入らず処理を続行してくれればよいだけなので…一意制約違反を無視してしまえ。
1 |
INSERT IGNORE INTO.... |
IGNORE さまさまーー。
次はどんなことになるかな….
関連記事
-
-
【MySQL】query_logを取得した場合の速度影響
あくまでWEB画面表示について。 環境は下記。 Linux CentOs7.1 …
-
-
[mysql]どういうSQL文のとき、どういうインデックスが使われるのか整理
mysqlのチューニングをしていて、どうしてもインデックスが、どの指定の時に何が …
-
-
[PHP][PDO]prepareでのバインド方法整理
データをstmtに渡す部分をちょくちょく待ちがえて混乱するのでメモ 参考:htt …
-
-
[sql][mysql]URLのパラーメータ削除 + index.html の 削除
よく忘れるのでメモ。 ログを集計するときに、パラメータを削除したり、URLの/と …
-
-
xamppの旧バージョンダウンロード
案件ごとにいろんなphp apacheのバージョンを組み合わせるのが面倒臭い。 …