问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一个分页SQL语句,要求不占用服务器内存的!

发布网友 发布时间:2022-04-08 05:42

我来回答

2个回答

热心网友 时间:2022-04-08 07:11

1.分页方案一:(利用Not In和SELECT TOP分页)

  语句形式:

SELECTTOP10*
FROMTestTable
WHERE(IDNOTIN
     (SELECTTOP20id
    FROMTestTable
    ORDERBYid))
ORDERBYID
SELECTTOP页大小*
FROMTestTable
WHERE(IDNOTIN
     (SELECTTOP页大小*页数id
    FROM表
    ORDERBYid))
ORDERBYID
  2.分页方案二:(利用ID大于多少和SELECT TOP分页)

  语句形式:

  SELECTTOP10*
FROMTestTable
WHERE(ID>
     (SELECTMAX(id)
    FROM(SELECTTOP20id
        FROMTestTable
        ORDERBYid)AST))
ORDERBYID
SELECTTOP页大小*
FROMTestTable
WHERE(ID>
     (SELECTMAX(id)
    FROM(SELECTTOP页大小*页数id
        FROM表
        ORDERBYid)AST))
ORDERBYID
  3.分页方案三:(利用SQL的游标存储过程分页)

create procereSqlPager
@sqlstrnvarchar(4000),--查询字符串
@currentpageint,--第N页
@pagesizeint--每页行数
as
setnocounton
declare@P1int,--P1是游标的id
@rowcountint
execsp_cursoropen@P1output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcountoutput
selectceiling(1.0*@rowcount/@pagesize)as总页数--,@rowcountas总行数,@currentpageas当前页
set@currentpage=(@currentpage-1)*@pagesize+1
execsp_cursorfetch@P1,16,@currentpage,@pagesize
execsp_cursorclose@P1
setnocountoff
  其它的方案:如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。

  建议优化的时候,加上主键和索引,查询效率会提高。

  通过SQL 查询分析器,显示比较:我的结论是:

  分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句

  分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句

  分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用

热心网友 时间:2022-04-08 08:29

select top everypage *from student where stu_id not in(select top(nowpage-1)*everypage stu_id from student)
本语句关键点:
everypage:指的是分页是每页显示的信息数
nowpage:指的是当前显示的是第几页
比如:
select top 10 *from student where stu_id not in(select top(2-1)*10 stu_id from student)
的意思是从学生表中查找出第二页显示的学生的信息(每页显示10条学生信息)
本人觉得此语句不太占用服务器内存,因为每次请求只是查找了数据库中表的一部分而已!
求一个分页SQL语句,要求不占用服务器内存的!

分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用

求一个分页SQL语句,要求不占用服务器内存的!

select top 10 * from 表 where 表.ID not in (select 表. top (当前页-1)*10 ID from 表 )

请问,如何用一条SQL查询出分页的数据和总记录数啊?MySQL的!不用存储

的确要查询两次的,因为计算总记录数是使用的聚合函数count(),如果你想一起查询出来,就要使用分组,那样也麻烦,对数据库的操作要使用细粒度的操作,可以使用事务来控制两次查询,用同一个connection,这样可以避免两次查询导致两次不同进程之间的连接操作 ...

sql数据库分页(数据库分页查询sql语句)

sql中的10表示你每页显示的数据,这里跟10,就代表每页显示10条。(你可以定义一个常量作为每页显示的条数)where中的20表示不包括前面的20条数据,也就是查询出从第21条到30之间的数据。不知道我这样说你是否理解,其实只要理解了sql语句,分页就很好做了。

如何用sql语句 实现分页查询?

方法1:适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE id NOT IN (SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id )ORDER BY id 方法2:适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE id > (SELECT ISNULL(MAX(id),0)FROM (SELECT ...

一条sql语句实现分页查询,且能返回记录总数

可以是可以,不过土了点,用个子查询。select top 10 *,(select count(1) from table) as cnt from table where id not in ..这样有一个问题。就是你查询出来的每条记录里,都带一个总行数。

SQL语句分页存储过程错误求指导?

第一行if exists (select* from sysobjects where name='MyBlog_Pageing')select与*之间加个空格 if exists (select * from sysobjects where name='MyBlog_Pageing')set @sql='select top'+CAST(@pageSize as varchar) +' * from 'top后面也应该有个空格 set @sql='select top '+CAST(@...

如何使用mybatis实现分页

1. 编写SQL语句:在MyBatis的映射文件中,编写带有LIMIT和OFFSET关键字的SQL查询语句来实现分页。LIMIT用于限制返回的记录数,OFFSET用于指定从哪一条记录开始返回。2. 传递参数:在执行查询时,需要传递页码和每页的记录数这两个参数,这些参数将在SQL语句中替换为实际的数值。3. 使用MyBatis的映射文件...

SQLserver 两表关联查询分页,求大神帮写下SQL语句

--授之以渔--方法 1: 此方法适用于 SQL Server 2000/2005/2008 -- Pager the record -- Note: N 代表要求查询的第 n 页的记录,X 表示每一页有 x 条记录。 select top X * from tb where pk_col not in (select top (N-1)*X pk_col from tb) -- Demo select top 10 *...

求一个SQL排序语句。

1.select t2.* from t2 inner join (select t2ID,count(t2ID) c from t1 group by t2ID order by c desc) tt on t2.id=tt.t2id order by tt.t2id 2.declare @firstrow int,@lastrow int select @firstrow=(@页数-1)*@每页记录数+1,@lastrow=@页数*@每页记录数 select row_...

未分页内存占用太大 oracle的分页语句 mysql的分页语句怎么写 oracle的分页语句怎么写 oracle的分页查询语句 分页占用缓存池 分页缓冲池一般占用多少 可用分页池内存 Sql语句实现分页
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
猛鬼宿舍如何联机 详细联机攻略 ...共同探索恐怖之旅!-《猛鬼宿舍》双人模式开启攻略 Photoshop使用高反差保留和中性灰给人像磨皮 ps人像美白教程:给人物进行后期美白 我家刚换了一个新无线路由器,我的笔记本用无线的,网络测速很快但是打 ... 女生雄激素过多怎么办 洛神花茶的功效、作用与禁忌(洛神花茶的功效与禁忌_洛神花茶的功效与作... 我是17岁的女生,怀疑是雄性激素分秘过多,怎么办? 吕梁一校长逼女生写不雅检查事件,你认为家长向学校索赔20万合理吗? 校长强迫初中女生写“性行为检讨”引发关注,这名女生到底经历了... 金融带给您一万元 单期分期贷款信息 发了的短信 这个是什么意思?可以 简单借款里单期借款怎样借钱? 单期还款是什么意思 单期借款要在什么时候还钱? 网上贷款单期和多期有什么区别吗?告诉我一下 简单借款里的单期借款和现金分期是什么? 简单借款的单期借款是什么? 心理扭曲? 心理扭曲的人是什么样的? 别人说我内心,心灵是扭曲的,是什么意思啦?! 心理扭曲的病态原因 怎样让一个心理扭曲的人恢复正常? 说一个人内心扭曲或者变态,请问变态,扭曲有什么区别? 如何看出一个人心理扭曲? 5厘米等于。多少米? 怎样快速做好会议记录 手冲咖啡和咖啡机哪个好喝 1米5厘米等于多少米用分数表示 办公室咖啡适合手冲还是全自动? 5cm等于多少厘米 简单借款的单期借款最少能借多少钱? 手机贷,单期贷款的,客服电话也接了,怎么还是等待确认,还要等多久时间? 简单借款里的单期借款和现金分期能同时办理吗? 单期借款的认证麻不麻烦? 水象分期单期贷一直显示放款中,都2天了。到底是多久啊,放是不放啊,卡在这又没音了。。 有人知道手机贷上征信吗?我有手机贷单期贷款1800已有2个月没有还了,不知怎么样? 黑白凉粉芋圆做法怎么做 最正宗芋圆红豆糖水的做法,芋圆红豆糖水怎样做 苏教版四下数学期中试卷(附答案) 小学四年级苏教版数学解决问题100题题目谁有???急!!! 椰汁芋圆糖水怎么做 安卓系统怎么使用迅雷下载电影?? 椰汁红豆芋圆的做法,椰汁红豆芋圆怎么做好吃 怎么用迅雷下载电影到手机? 电影下载到迅雷上去了、怎么弄到手机上去啊、 手机上电影应该下载在哪,迅雷吗 苏教版四年级下册数学练习册答案 领了会员权益腾讯视频怎么用不了 公司信用修复申请怎么弄? 企业信用修复的标准和流程