看你的访问量和每页显示数,假如每页显示30条,那就是显示一个这个页面,至少31条SQL发送给了数据库,看你在同一时间有多少访问量,如果访问数少,没有问题,如果每天上千万次访问,你算算一秒钟有多少人访问这个页面,数据库就是31倍的请求数,还不算高峰期的访问。
如果要优化的话,可以用连接查询,一条SQL语句,把两个表的数据都查出来,比如一个评论平均有10张图,30条评论就是300条数据一条SQL搞定,按评论排序出来,然后一个循环就把两个对象都组织好了。
select t1.*, t2.* from comment t1 left outer join pic t2 on t2.comment_id = t1.id where t1.xxx=xxx order by t1.update_time, t1.id desc limit 0, 30;
用左外连接,使得没有图片的评论也会被查出。
然后在循环里把t1.id一样的那些条记录都组织在一个Comment对象里,把相应的t2.*放进Pic对象里,add到Comment里的picList中。
有个问题,一定要先按update_time排,再按t1.id排,如果两条评论的update_time相同,两条评论的60条数据排序才不会乱掉。