7 个解决方案
#1
怎么没人?请问有什么方法??能否说写具体实现思路。
#2
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=205515
#3
自己拼
分页一定要充分利用数据库的性能。最重要的就是索引的排序,一定要设置索引排序方式与你要显示的记录排列方式相同,否则需要在每个SELECT后面加入order by id desc,asc。加入order by会降低效率20%左右。尽量通过索引排序不要使用order by 。
第一页:select top 10 * form tab where ……
降序的。
第N页:select top 10 * form tab where …… and id < (select min(id) from (select top (n-1)*10 id from tab where …… ) )
升序的
第N页:select top 10 * form tab where …… and id > (select max(id) from (select top (n-1)*10 id from tab where …… ) )
分页一定要充分利用数据库的性能。最重要的就是索引的排序,一定要设置索引排序方式与你要显示的记录排列方式相同,否则需要在每个SELECT后面加入order by id desc,asc。加入order by会降低效率20%左右。尽量通过索引排序不要使用order by 。
第一页:select top 10 * form tab where ……
降序的。
第N页:select top 10 * form tab where …… and id < (select min(id) from (select top (n-1)*10 id from tab where …… ) )
升序的
第N页:select top 10 * form tab where …… and id > (select max(id) from (select top (n-1)*10 id from tab where …… ) )
#4
在guestbook表中,可以设置个陌生人的标志,比如username=0或者其他什么的,
分页就普通的自己计算,也没什么啊
数据量大的话就用 select count(*) from guestbook不要直接去读那个返回的记录,
显示的时候用select top xx取得需要的记录。不要一次全部取
分页就普通的自己计算,也没什么啊
数据量大的话就用 select count(*) from guestbook不要直接去读那个返回的记录,
显示的时候用select top xx取得需要的记录。不要一次全部取
#5
我说select count(*) from guestbook用在分页的时候
#6
http://www.blogjava.net/jfy3d/archive/2005/05/11/4175.html
用这个pro
用这个pro
#7
谢谢
#1
怎么没人?请问有什么方法??能否说写具体实现思路。
#2
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=205515
#3
自己拼
分页一定要充分利用数据库的性能。最重要的就是索引的排序,一定要设置索引排序方式与你要显示的记录排列方式相同,否则需要在每个SELECT后面加入order by id desc,asc。加入order by会降低效率20%左右。尽量通过索引排序不要使用order by 。
第一页:select top 10 * form tab where ……
降序的。
第N页:select top 10 * form tab where …… and id < (select min(id) from (select top (n-1)*10 id from tab where …… ) )
升序的
第N页:select top 10 * form tab where …… and id > (select max(id) from (select top (n-1)*10 id from tab where …… ) )
分页一定要充分利用数据库的性能。最重要的就是索引的排序,一定要设置索引排序方式与你要显示的记录排列方式相同,否则需要在每个SELECT后面加入order by id desc,asc。加入order by会降低效率20%左右。尽量通过索引排序不要使用order by 。
第一页:select top 10 * form tab where ……
降序的。
第N页:select top 10 * form tab where …… and id < (select min(id) from (select top (n-1)*10 id from tab where …… ) )
升序的
第N页:select top 10 * form tab where …… and id > (select max(id) from (select top (n-1)*10 id from tab where …… ) )
#4
在guestbook表中,可以设置个陌生人的标志,比如username=0或者其他什么的,
分页就普通的自己计算,也没什么啊
数据量大的话就用 select count(*) from guestbook不要直接去读那个返回的记录,
显示的时候用select top xx取得需要的记录。不要一次全部取
分页就普通的自己计算,也没什么啊
数据量大的话就用 select count(*) from guestbook不要直接去读那个返回的记录,
显示的时候用select top xx取得需要的记录。不要一次全部取
#5
我说select count(*) from guestbook用在分页的时候
#6
http://www.blogjava.net/jfy3d/archive/2005/05/11/4175.html
用这个pro
用这个pro
#7
谢谢