あまり意味をなしていないアクセス集計のページですが、なんかページが表示されるまでの時間がひたすら長いので、心持ち高速化してみました。
リアルタイムの集計処理では通常『登録するときに集計する』か『表示するときに集計する』方法をとると思いますが、ここの集計ではPostgreSQLを使っているので1行処理するのも100行処理するのもたいしてかわらんだろうと思って『表示するときに未処理分の集計用インデックスをまとめて作成する』という変な方法をとっていました。多分この方法は間違ってはいないと思うのですが、適切なSQL文がよくわからんかったので副問合せやループ内での問合せをビシバシ使ってたらとんでもなく遅くなったというわけです。
てことで、方針を変えて登録時にインデックスを逐一作成することにしました。CGIやSSIのアクセスカウンタで余計な処理をすると表示に時間がかかっていけませんが、もともとここのアクセス集計用トラップは呼び出すだけで何も表示させないという間抜けなことをしていますので、読込み待ち時間がほんの少し長くなったところで特に影響はないでしょう。