Categories


Tags


三种数据库利用SQL语句进行高效果分页

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

3、MySQL数据库

Mysql可以使用 limit子句实现

select * from tablename limit start,number

返回从第 start+l条记录开始的number条记录。

来源:赛迪网

来源:月光博客


Public @ 2010-02-01 15:47:53

如何评价阿里云、百度云、腾讯云三大云服务器的产品?

无论是站长还是企业软件运营,选择一款合适的云服务器是重中之重,其中服务器的业务承载能力,可扩展性和安全稳定性都对未来业务扩大带来不可估量的影响,客流的增大,数据计算量的起伏都是选择云服务器及其功能的重要参考标准,阿里云、百度云、腾讯云这三大服务器这三大服务商自然各有各的优势。如何评价阿里云、百度云、腾讯云三大云服务器的产品? 服务器 阿里巴巴 腾讯 百度 好文分享 第2张阿里云阿里云是使用用户最多

Public @ 2011-11-25 16:13:43

CentOS操作系统通过安装ntfs-3g挂载NTFS格式硬盘

1. 首先安装ntfs-3g: 在命令行中输入以下命令,进行安装: sudo yum install ntfs-3g 2. 挂载NTFS格式硬盘: 找到需要挂载的NTFS格式硬盘设备名,例如/dev/sdb1。 在命令行中输入以下命令,进行挂载: sudo mount -t ntfs-3g /dev/sdb1 /mnt 其中/mnt为挂载点,可以自定义。 3. 卸载硬盘: 在不使

Public @ 2023-06-15 20:50:10

如何避免ASP的SQL的执行效率低

要避免ASP SQL的执行效率低,可以采取以下措施: 1. 编写高效的SQL查询语句:优化SQL查询语句,避免重复查询,使用合适的索引和限制查询结果的数量等,可以提高执行效率。 2. 优化数据库设计:设计良好的数据库结构,包括合适的表结构、索引、关系等,可以提高查询效率。 3. 使用缓存:将查询结果缓存起来,避免频繁的查询数据库,提高响应速度。 4. 使用合适的数据访问技术:考虑使用存储过程、视

Public @ 2023-07-31 11:00:25

更多您感兴趣的搜索

0.406127s