|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
您现在的位置: ChinaBeta.cn 中文IT资讯 >> 网盟学院 >> 数据库 >> 网管技术正文
推荐网管技术[多图]即将发布的Microsoft Of…推荐网管技术让我穿过那道"墙"! 畅游网络应…
推荐网管技术主动防御!瑞星杀毒2008抢先评…推荐网管技术速度超快 Discuz! 6.0.0试用手…
推荐网管技术奇虎举证:各杀毒软件均报CNNIC…推荐网管技术Google Earth 4.2加入繁体中文…
推荐网管技术Photoshop CS3:蔚蓝梦幻风格婚…推荐网管技术专业防护!瑞星防火墙2008测试…
推荐网管技术挂载RAR文件 从认识到爱上WinM…推荐网管技术让你冲浪随心所欲 如何访问被封…
推荐网管技术轻装上阵!江民杀毒软件2008速…推荐网管技术VMware Fusion苹果版全程图解(…
推荐网管技术VMware Fusion苹果版全程图解(…推荐网管技术从菜鸟出发!征服高清详细评测全…
推荐网管技术VS2008和ASP.NET 3.5使用之初体…推荐网管技术[多图]Ubuntu 7.04 初体验
推荐网管技术东风吹战鼓擂 下载软件你选谁?推荐网管技术若隐若现 Windows XP DirectX …
推荐网管技术GPRS上网全攻略推荐网管技术主流杀毒软件Vista兼容性横评
推荐网管技术基于IRF的网络管理和业务管理解…推荐网管技术83个美丽的Wordpress主题
推荐网管技术软交换网络中的关键路由技术详…推荐网管技术不只是换肤?Windows Mobile 6 …
推荐网管技术css教程–十步学会用css建站(全…推荐网管技术巧妙设置路由 预防网络频繁掉线
推荐网管技术打造网络管理七大绝技推荐网管技术CorelDRAW X3 Service Pack 2 …
三种数据库利用SQL语句进行高效果分页
Www.ChinaBeta.Cn 更新时间:2008-1-21

【ChinaBeta.Cn 网盟学院】

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

(责任编辑:hahack)

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门文章 相关报道
普通网管技术 [数据库]三种数据库利用SQL语句进行高效果… (01-21)最新网管技术
普通网管技术 [数据库]在Oracle中利用一个表结构拷贝成… (01-21)最新网管技术
普通网管技术 [数据库]Oracle,SQL Server,MySQL的自增变… (01-21)最新网管技术
普通网管技术 [数据库]重装JDE 'Oracle加速计划… (01-21)最新网管技术
普通网管技术 [数据库]Oracle融合中间件荣获"InfoWorld… (01-21)最新网管技术
普通网管技术 [JSP|JAVA]JSP/Servlet/JSF--标签库的深入… (01-21)最新网管技术
普通网管技术 [JSP|JAVA]Java语言深入--对JAVA 的多线程… (01-21)最新网管技术
普通网管技术 [软件应用][多图]Ubuntu 8.04 Hardy Heron … (01-21)最新网管技术
普通网管技术 [其它编程程序]C/C++语言void及void指针深层探索 (01-18)最新网管技术
普通网管技术 [数据库]新手入门 --常用数据库JDBC连接… (01-18)最新网管技术
  • 在Oracle中利用一个表结构拷…

  • Oracle,SQL Server,MySQL的…

  • 重装JDE 'Oracle加速计…

  • Oracle融合中间件荣获"Info…

  • Oracle数据库管理员的利器E…

  • 50种方法巧妙优化SQL Serve…

  • 小技巧:让你忘记MySQL密码…

  • 在win2003下MySQL数据库每天…

  • MySQL常见错误提示及解决方…

  • 教你使用智能优化器提高Ora…

  •   网友评论内容:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    I D *
    邮 箱
    主 页
    评 分 1分 2分 3分 4分 5分
    评 论

    关于我们  中国·国家信息产业部{粤ICP备06006652号}{陇ICP备06002562号}
    版权所有:『AK网盟基地』站长:Hahack | QQ:80505955 | E-mail:Hahack@Gmail.com
    Copyright (C) 2005-2007  akhack.org|chinabeta.cn All Rights Reserved