hatena情報offにした
ようやく快適だ。
エントリ情報のテーブルと、そのエントリに対するwadaino.jpの参照数のテーブルと、はてなブックマークの参照数のテーブルをjoinさせてみたところ、この惨状である。
CPU4つで、CPUのuserが3つは常に100%。クエリ投げて戻ってくるまで20秒超。
ノートで試した時はデータが少ないし、CPUも早いから違いに気づかなかったけど、コストがn倍になるのは考えてみれば当たり前だったなぁ…。うーん。思いっきり素人丸出しだ。
とりあえず参照のデータソースごとにテーブルを作るのではなく、参照のテーブルを作り、データソースごとにカラムを作る感じに修正かなぁ。
おまけ1:
過去60日の記事のはてブの参照数を集めようと思ったら、途中でメモリ使い切ってプロセスがあぼーんした。やはりphpにはGCという概念はないのか。
おまけ2:
内部の実装がちょっと奇麗になった。表向きには何も変わらないけど。