发新帖

如何精简展示列表,一页展示百帖仅需7次sql查询

参观者 1月前 630

在未开启sql各种缓存情况下,一页展示百个帖子仅需7次sql查询


修改route目录下的forum.php


大概第41行

$threadlist = thread_find_by_fid($fid, $page, $pagesize);

修改为

  $threadlist =  db_find('thread', array('fid'=>$fid), array('tid'=>-1), $page, 100, 'tid',array('fid','tid','subject'));

这样去掉了thread_find_by_fid 动作,没有查询头像,作者,最后回复等各种信息,所以大大减少了数据库查询


所以,这个方式仅适用于精简展示列表,因为只会读取标题和url,但会大大加快展示速度

在未开启任何缓存的情况下,做到 0.00X秒,和个位数的sql查询


效果显示

首页 http://www.hyr5.com/

列表页 http://www.hyr5.com/f2/

最新回复 (13)
baoye 1月前
引用 1
你这是xiuno?
メ.*新阳ゝ 1月前
引用 2
你这页面真是最简洁的了
倚楼观天象 1月前
引用 3
又一个采集大站蛋生了
参观者 1月前
引用 4
倚楼观天象 又一个采集大站蛋生了

新人第一次学做,请见谅

有几个问题还是请教了你才知道的
不过你的回答真是精简啊,要想半天  ^_^

花开花落 11天前
引用 5
学习中
axiuno 11天前
引用 6
如果不考虑头像的话,这种方法确实可以显著减少压力。
hidao@hidao.org 11天前
引用 7
axiuno 如果不考虑头像的话,这种方法确实可以显著减少压力。
什么量级的站需要这么精简?
axiuno 11天前
引用 8
日PV百万级以下不用如此优化。
zoujian77 10天前
引用 9
楼主牛逼,网站简单得不能再简单了,快得不能再快了。
除了这个办法,还有更多的优化办法吗?
我喜欢这种做事风格,xn的特点不就是极简快速吗
hidao@hidao.org 10天前
引用 10
axiuno 日PV百万级以下不用如此优化。
所以说,在这混的担心个JJ?
diss 3天前
引用 11
我改后出错,不知道怎么回事
メ.*新阳ゝ 3天前
引用 12

其实我是这样优化的,循环已读出的列表用户ID到数组,只用一个SQL查询用户信息数组,在列表里调用用户数组信息就可以了。
这样就不需要列表每个帖子都用一个SQL读用户信息了。

这样也就是多了一条SQL查询,就是你说的7条变成8条。

@百晓生 2天前
引用 13

http://www.ithtw.com/
看看我的站,内容展示比你丰富,SQL仅多你3次。

返回