一个相册系统中,统计一段时间内图片被观看次数的有关问题

一个相册系统中,统计一段时间内图片被观看次数的问题

有这样一个图片系统,需要统计一段时间内(一周,一个月,或者任意时间段内)图片被观看的次数。比如,需要统计7天内被观看次数最多的图片,(注意不是7天内新上传图片中被观看次数最多的图片)。

我现在的做法是,

photo,字段

    photo_id  //id

    daily_view //当天该photo被观看的次数

photo_stats,字段

    photo_id

    day     // 统计时间

    view   //观看次数

每天晚上12点由后台程序根据photo表中的daily_view字段的值,和当天的日期,在photo_stats表中增加一条记录,day就是当天的日期,view为当天该photo被观看的次数,然后置photo.daily_view=0

这样做的缺点是每天都会往photo_stats表中增加许多记录,如果查询时间段非常长的话,效率也不高,请问大家有什么好的方法可以实现上述功能?