国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宝应县| 陇西县| 永顺县| 和硕县| 喜德县| 辽宁省| 海口市| 怀仁县| 镇巴县| 江陵县| 灵山县| 米林县| 惠水县| 萝北县| 和林格尔县| 塘沽区| 灵山县| 新乡县| 炎陵县| 山东省| 长宁区| 平凉市| 江永县| 土默特右旗| 巩义市| 碌曲县| 麻城市| 新闻| 兴文县| 平乡县| 柘荣县| 洞口县| 汕头市| 诏安县| 江陵县| 尖扎县| 舞阳县| 聂拉木县| 通化市| 阿拉善右旗| 秭归县|