国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

利用SQL語句對不同數(shù)據(jù)庫進行高效果分頁

2024-07-21 02:42:55
字體:
來源:轉載
供稿:網(wǎng)友
 

在程序的開發(fā)過程中,處理分頁是大家接觸比較頻繁的事件,因為現(xiàn)在軟件基本上都是與數(shù)據(jù)庫進行掛鉤的。但效率又是我們所追求的,如果是像原來那樣把所有滿足條件的記錄全部都選擇出來,再去進行分頁處理,那么就會多多的浪費掉許多的系統(tǒng)處理時間。為了能夠把效率提高,所以現(xiàn)在我們就只選擇我們需要的數(shù)據(jù),減少數(shù)據(jù)庫的處理時間,以下就是常用SQL分頁處理:

1、SQL Server、access數(shù)據(jù)庫

這都微軟的數(shù)據(jù)庫,都是一家人,基本的操作都是差不多,常采用如下分頁語句:

PAGESIZE:每頁顯示的記錄數(shù)

CURRENTPAGE:當前頁號

數(shù)據(jù)表的名字是: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數(shù)據(jù)庫

因為Oracle數(shù)據(jù)庫沒有Top關鍵字,所以這里就不能夠像微軟的數(shù)據(jù)據(jù)那樣操作,這里有兩種方法:

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

PAGESIZE:每頁顯示的記錄數(shù)

CURRENTPAGE:當前頁號

數(shù)據(jù)表的名字是: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到當前的記錄總數(shù)。

select * from (select rownum tid,components.

* from components where rownum<=100) where tid<=10;


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 蕉岭县| 双峰县| 双峰县| 威海市| 古丈县| 朝阳市| 新巴尔虎右旗| 汝阳县| 晋江市| 大厂| 宜章县| 梁平县| 宜昌市| 加查县| 精河县| 衢州市| 平安县| 如皋市| 云龙县| 新泰市| 巩留县| 蚌埠市| 龙里县| 洪江市| 阜南县| 青河县| 沛县| 上杭县| 沙雅县| 临高县| 荃湾区| 庄河市| 灵台县| 巴彦淖尔市| 扶风县| 萨嘎县| 桐柏县| 沛县| 蓝田县| 日照市| 满城县|