PHP问题

nanhuaboy 2010-01-29 11:50:22
请各位高手指点一下:下面是我写的程序从数据库里面读出来的数据,数据量很大,所以运行的速度非常的慢,怎么样去优化它,或者怎么样把它生成一个文件,然后定时缓存成文件?
foreach ($forums as $k=>$v){
$sql = "SELECT * FROM ".$forum->_prefix.$forum->_table_name." WHERE parent_id = ".$v['forum_id']." ORDER BY post_cnt DESC LIMIT 0,6 ";
$forums[$k]['mobiles'] = $forum->_db->fetchAll($sql);
foreach ($forums[$k]['mobiles'] as $s=>$t){
$prod_id = $t['prod_id'];
$sql = " SELECT count(prod_id) FROM ".$profileM->_prefix.$profileM->_table_name." WHERE prod_id = '".$prod_id."' GROUP BY prod_id ";
$forums[$k]['mobiles'][$s]['ucount'] = intval($profileM->_db->fetchOne($sql));
}
}
$this->view->forum = $forums;
...全文
165 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
999朵玫瑰 2010-01-30
  • 打赏
  • 举报
回复
foreach
骄傲青蛙 2010-01-29
  • 打赏
  • 举报
回复
首先, 你的数据库有没加索引 ?
klend 2010-01-29
  • 打赏
  • 举报
回复
循环里面套sql查询一定要少用,非用不可的话 外层循环数量也要在控制中

先改成用一条sql实现 看看sql的效率
zhuangzhuanghe 2010-01-29
  • 打赏
  • 举报
回复
你在数据库建一个索引
iwantnet 2010-01-29
  • 打赏
  • 举报
回复
1.选择数据索引很重要的.
2.能不能将大量数据分表.比如一个月的数据分一个表.进行整合.

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧