科汛CMS的SQL分页标签优化:2种方法提高速度 系统函数标签比SQL标签快得多

当网站文章数据量大,比如十万级别的文章数据,这时要生成栏目列表时,如果没能正确使用自定义SQL标签,那么生成栏目分页的速度可能会非常慢。有两种解决方法:

1、生成栏目列表分页时,使用系统函数标签 如:{LB_文章终级列表}

系统函数标签性能比SQL标签好得多,尤其在执行数据量大的操作时这点尤其明显

原因可能如下:
因为系统函数标签是预定义的,它们被直接集成到CMS系统中,因此执行速度较快。相比之下,SQL标签需要编写和执行SQL查询语句,这涉及到数据库的查询和数据处理,通常比系统函数标签的执行过程更复杂,因此速度较慢。此外,使用SQL标签可能需要编写和优化SQL语句,这增加了额外的工作量和复杂性,进一步影响了执行速度‌。
所以,尽量使用系统函数标签。


2、如果必须用SQL分页标签,那么SQL标签里的SQL语句调用时使用KS_iteminfo数据表,而不是KS_ARTICLE等数据表。
SQL语句如下:
select id,infoid,title,keywords,intro,photourl,tid,channelid,fname from KS_ItemInfo where channelid=1 and tid ='{$CurrClassID}' order by id desc

循环体举例:
<a href="{$GetItemUrl}">{$Field(title,Text,0,...,0,)}</a>

以下是引用官方说明:

查询KS_ItemInfo表时,允许使用{$GetItemUrl}得到文档的URL链接
如:当有查询到KS_ItemInfo表时,可以使用{$GetItemUrl}来得到文档的URL,但要在查询的SQL语句中包含ChannelID,InfoID,Tid,Fname四个字段。
举例:select top 10 i.channelid,i.infoid,i.tid,i.fname,title,diggnum from KS_digglist d inner join ks_iteminfo i on d.infoid=i.infoid where d.channelid=i.channelid order by diggnum desc
循环体:[loop=10]<a href="{$GetItemUrl}">{$Field(title,Text,0,...,0,)}</a>[/loop]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值