Oracle、SQLServer、Access數(shù)據(jù)庫(kù)高效果分頁(yè)技巧

字號(hào):

在程序的開(kāi)發(fā)過(guò)程中,處理分頁(yè)是大家接觸比較頻繁的事件,因?yàn)楝F(xiàn)在軟件基本上都是與數(shù)據(jù)庫(kù)進(jìn)行掛釣的。但效率又是我們所追求的,如果是像原來(lái)那樣把所有滿足條件的記錄全部都選擇出來(lái),再去進(jìn)行分頁(yè)處理,那么就會(huì)多多的浪費(fèi)掉許多的系統(tǒng)處理時(shí)間。為了能夠把效率提高,所以現(xiàn)在我們就只選擇我們需要的數(shù)據(jù),減少數(shù)據(jù)庫(kù)的處理時(shí)間,以下就是常用SQL分頁(yè)處理:
    1、SQL Server、Access數(shù)據(jù)庫(kù)
    這都微軟的數(shù)據(jù)庫(kù),都是一家人,基本的操作都是差不多,常采用如下分頁(yè)語(yǔ)句:
    PAGESIZE:每頁(yè)顯示的記錄數(shù)
    CURRENTPAGE:當(dāng)前頁(yè)號(hào)
    數(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條記錄開(kāi)始選擇,只選擇前面的10條記錄