一种高效的分页机制,设想阶段,大家快来大讨论拉,欢迎批判
时间:2007-02-17 来源:PHP爱好者
还只是个想法,大家看看,可不可行:
在向数据库插入一条新的纪录后,也就是发布一条信息后,立即对所有数据进行一次分页处理,取得每页的第一个id号,如1134,1100,1080,1033,将这些id号存入数据库或一个文本文件,在信息浏览页,就通过这些id来分页,如
<a href=../../more?id=1134>第一页</a>
<a href=../../more?id=1100>第二页</a>
<a href=../../more?id=1080>第三页</a>
列出每页信息:
sybase_query("set rowcount 20");
sybase_query("select id,title from test where id<$id order by id desc");
哈哈,搞定,由于发信息的人远远少于浏览信息的人数(当然对于本论坛例外),所以这样可可大大减低服务器的负荷,不必每次浏览都对整个表检索一次,对于sybase,mysql,orcal,本方法都应很有效,因为mysql的limit也是要对整个表进行检索的
非常全面的一个php技术网站,php 爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
在向数据库插入一条新的纪录后,也就是发布一条信息后,立即对所有数据进行一次分页处理,取得每页的第一个id号,如1134,1100,1080,1033,将这些id号存入数据库或一个文本文件,在信息浏览页,就通过这些id来分页,如
<a href=../../more?id=1134>第一页</a>
<a href=../../more?id=1100>第二页</a>
<a href=../../more?id=1080>第三页</a>
列出每页信息:
sybase_query("set rowcount 20");
sybase_query("select id,title from test where id<$id order by id desc");
哈哈,搞定,由于发信息的人远远少于浏览信息的人数(当然对于本论坛例外),所以这样可可大大减低服务器的负荷,不必每次浏览都对整个表检索一次,对于sybase,mysql,orcal,本方法都应很有效,因为mysql的limit也是要对整个表进行检索的
非常全面的一个php技术网站,php 爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
相关阅读 更多 +