首页 > 网站 > 建站经验 > 正文

全面优化V4.0及AJAX标签使用技巧

2019-11-02 17:00:41
字体:
来源:转载
供稿:网友
众所周知。KesionCMS V4.0无论从功能上,还是从性能上都有了质的飞越。不再是以往版本1秒仅能生成1篇文章的系统了。但近期也发现有部分用户提到速度并没有多大提高。现在我大致给大家做个总结。

1、标签调用不合理

   A、自定义静态标签(影响最大)

有些用户为了方便,大量使用了自定义静态标签。甚至将整个页面模板做成一个静态标签调用。更可怕的是在自定义静态标签里插入大量的系统函数标签,自定义SQL标签等。

经测试如果在自定义静态标签里插入系统函数标签和自定义sql标签,系统的生成速度将大打折扣.原因如下:原本只需读取数据库进行一次的标签替换工作,而借助自定义静态标签无形中却需要最少两次的标签替换工作。所以性能下降。

经以上分析:解决方法是尽量少用或不用自定义静态标签。绝对不在自定义静态标签里插入系统函数标签和自定义SQL标签。

  B、自定义SQL标签

   用过自定义SQL标签的朋友都知道,一个SQL标签对应一条SQL查询语句。SQL的构造合理与否直接影响到系统的性能。

   举例如下:

语句一:Select * from ks_article where tid in('栏目ID') order by id desc

语句二:Select top 10 id,title,AddDate  From KS_Article Where Tid='栏目ID' order by id desc

  并假设循环体都如以下:

复制代码 代码如下:

[loop=10] 

<li> 

<ahref="{$Field(ID,GetInfoUrl,1,1)}" target="_blank">{$Field(Title,Text,5,...,0,)}</a>({$Field(Adddate,Date,YYYY年MM月DD日)}) 

</li> 

[/loop] 

以上代码段中。显然运行最终效果都一样,但语句二的执行效率将优于语句一。当你的数据量越多越明显。这里就不详情说明原因了,有兴趣的朋友可以参考:http://www.cnblogs.com/xhp5678/archive/2006/07/07/445206.html, http://www.cnblogs.com/oec2003/archive/2007/05/09/740048.html

C.系统函数标签

KesionCMS系统函数标签作为入门级标签,所有代码都集成在核心代码的函数内。已在语句上做了大量的优化工作了。原则上用户在使用上也无需注意什么了。但如果你稍微留意,你就会发现很多标签都支持通用。细心的朋友会发现标签属性里的”所性栏目”一栏中:分别有”当前栏目(通用)”、”不指定栏目”等。这时你如果指定为当前栏目(通用),那么你建的这个标签在本模型里就是通用标签了。这样,你也就无需建大量的标签。从页减少数据库的标签替换次数.。

2、栏目划分不合理 

    有些用户栏目划分极其不合理,一个栏目下的文章居然达到几万条数据。对于栏目下文章较多,建议将栏目进行细分。V4.0引进了模型,也可以通过自建模型,将数据分布到用户建的数据表。从而有效的减少了单个数据表的压力.

3、没有定期对数据库进行维护

使用Access数据库的用户请定期的对数据库进行压缩修复,SQL数据库的用户可以定期的清除日志,压缩等.定期的维护数据库你也可以发现系统的性能会有所提高.

什么时候标签使用Ajax输出

KesionCMS V4.0独创引入标签ajax输出功能,但有些用户对此并不了解,不清楚的朋友可以在此了解http://tech.163.com/05/0908/17/1T55SUPP00091K8Q.html
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表