怎样解决Dedecms生成速度慢的办法
在DEDE官方论坛看到这样的解决方法,试了一下,还不错。
注意:此方法5.7版本已经失效
打开include/inc/inc_fun_SpGetArcList.php,找到以下代码:
Copy to Clipboard引用的内容:[www.veryhuo.com]
for($i=0;$i<$ridnum;$i++){
if($tpsql=="") $tpsql .= " And ( (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
else $tpsql .= " Or (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
}
if($tpsql=="") $tpsql .= " And ( (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
else $tpsql .= " Or (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
}
将以上代码注释掉,并替换为下边的代码:
Copy to Clipboard引用的内容:[www.veryhuo.com]
for($i=0;$i<$ridnum;$i++){
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'arc');
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'arc');
}
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'arc');
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'arc');
}
这时你再生成静态时,会发现快了很多,原文中提到这是由于不再考虑副栏目,因此就快了。
Dedecms生成速度慢的解决方法(2014年2月补充):
其实很多dedecms生成HTML慢的问题,都已经不能通过上述办法解决了,最火软件小编专门从某技术博客转载了新的办法,经测试在10万文档下速度改善了许多(需要说明的是:如果您有上万数据,而用的虚拟主机或VPS就不用了,因为那是web服务器性能差。)。
主要从以下几个方面优化(如果不想动模板,建议大家直接搞数据库):
数据库 索引的优化 和 分表的处理
模板 重复读取数据的标签太多
服务器 这些一般大家都会,虚拟主机的不用,个人独立主机的可以看看关于服务器的优化教程
这是优化完的效果
我先给大家从模板的地方入手处理
/---------------------模板处理优化-------------------------/
优化模板的话,主要看你自己的栏目设计到用不用二级,如果是二级的话
大家可以建立一个主数据的调取东西例如 {图片,css,/plus