您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> ACCESS >> 辅导 >> 正文    
  Oracle、SQLServer、Access数据库高效果分页技巧 【注册男护士专用博客】          

Oracle、SQLServer、Access数据库高效果分页技巧

www.nanhushi.com     佚名   不详 

  在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:

  1、SQL Server、Access数据库

  这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句:

  PAGESIZE:每页显示的记录数

  CURRENTPAGE:当前页号

  数据表的名字是:components

  索引主键字是:id

以下是引用片段:
  select top PAGESIZE * from components where id not in
  (select top (PAGESIZE*(CURRENTPAGE-1))
  id from components order by id)order by id

  如下列:

以下是引用片段:
  select top 10 * from components where id not in
  (select top 10*10 id from components order by id)
  order by id

  从101条记录开始选择,只选择前面的10条记录

  2、Oracle数据库

  因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:

  (1)、一种是利用相反的。

  PAGESIZE:每页显示的记录数

  CURRENTPAGE:当前页号

  数据表的名字是:components

  索引主键字是:id

以下是引用片段:
  select * from components where id not
  in(select id from components where
  rownum<=(PAGESIZE*(CURRENTPAGE-1)))
  and rownum<=PAGESIZE order by id;

  如下例:

以下是引用片段:
  select * from components where id not in
  (select id from components where rownum<=100)
  and rownum<=10 order by id;

  从101到记录开始选择,选择前面10条。

  (2)、使用minus,即中文的意思就是减去。

以下是引用片段:
  select * from components where rownum
  <=(PAGESIZE*(CURRENTPAGE-1)) minus
  select * from components where rownum
  <=(PAGESIZE*(CURRENTPAGE-2));

  如例:select * from components where

以下是引用片段:
  rownum<=10 minus select * from components
  where rownum<=5;.

  (3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名]看到,注意,它是从1到当前的记录总数。

以下是引用片段:
  select * from (select rownum tid,components.
  * from components where rownum<=100) where tid<=10;

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。