存档

文章标签 ‘源码修改’

给 PHPCMS 添加删除栏目的代码做优化

2009年8月11日

最近几个单都是用 PHPCMS 做二次开发,包括现在正在进行的这个大单,有多大?给客户添数据后,光是栏目数就已经设置到3000+并且上升势头不减……

以前没遇到过一个网站有那么多栏目的情况,估计 PHPCMS 的开发人员也没遇到过,因为我发现栏目越多,添加和修改栏目的速度越慢,栏目数过1000的时候,基本修改一次栏目就得花上1分钟时间,现在 3000+ 栏目已经要4,5分钟了……查阅了下 PHPCMS 的代码发现了问题所在。

PHPCMS 的栏目相关处理方法都是在 include\admin\category.class.php 里,这个类文件中有一个被频繁使用的方法 repair,问题就出在这里。无论是添加、删除还是其他的一些栏目操作,大多都会执行一次这个方法(有个地方连续执行两次,不解,应该是开发人员的失误)。而这个方法的主要工作就是将整个站的所有栏目遍历一次遍,对每个栏目都更新一下 arrparentid, parentdir, arrchildid 三个字段的内容。妈妈呀,那3000多个栏目岂不是要执行3000多次 update?怪不得……

阅读全文...

PHP