| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 781 人关注过本帖, 1 人收藏
标题:[求助]用存储过程分页,分析一下?
只看楼主 加入收藏
sorrow0
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-2-28
收藏(1)
 问题点数:0 回复次数:5 
[求助]用存储过程分页,分析一下?
帮忙解释一下!!
分页方案:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 20 id
FROM TestTable
ORDER BY id) AS T))
ORDER BY ID


SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id) AS T))
ORDER BY ID


看的不是太懂~!!
搜索更多相关主题的帖子: SELECT FROM TOP ORDER MAX 
2006-05-24 18:06
selad
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2005-4-1
收藏
得分:0 

基本原理你懂吗?
存储过程分页就是要、只提取你要显示的的数据,其他的并不提取
这样对于海量数据的分页显示可以减少内存的消耗
具体是这样的:提取“一页显示的数据”*“当前页的页数”(这个提取是倒着提的,用order by字句把顺序颠倒过来),然后只要后面的15条(假设一页只显示15条,这是你自己设定的),然后在把顺便颠倒过来,就是你要显示的哪一页的数据了,上面的语句就是这个道理?
懂了吗


工作了,要稍微收敛点了!
2006-05-24 23:30
sorrow0
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-2-28
收藏
得分:0 

差不多能看懂了,再去研究一下!请问你是来自哪个南工的啊?
谢谢你啊!


2006-05-25 10:02
sorrow0
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-2-28
收藏
得分:0 

看不出上面的语句哪里有颠倒啊!????


2006-05-26 12:09
yichen
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2005-3-9
收藏
得分:0 

简单说,就是 在第一页中显示过的,第二页就不显示了,他只显示后面没有显示过的(top 页大小)

ID > (SELECT MAX(id)
FROM (SELECT TOP 20 id
FROM TestTable
ORDER BY id)))

主要还是这段sql语句起作用


衣带渐宽终不悔, 为伊消得人憔悴。 纸上得来终觉浅, 绝知此事要躬行。
2006-05-26 12:54
sorrow0
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-2-28
收藏
得分:0 
1楼可能根本没有看我的语句!
我看也是,在这人里面跟本就没有颠倒,,!
4楼说的对,

2006-05-27 13:12
快速回复:[求助]用存储过程分页,分析一下?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022829 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved