亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

均速分頁法

2024-07-21 02:03:56
字體:
來源:轉載
供稿:網友

一、適用范圍 
  均速分頁法主要適用于文章系統,新聞系統等排序方法固定的ASP+ACCESS應用 

二、特點說明 
很多用過一些文章系統或是新聞系統的朋友知道,一般的文章系統或是新聞系統,在分類分頁時,通常是通過讀取數據庫中滿足條件的排序后數據,然后根據請求頁號,通過定位操作,指向某條數據,并且開始讀取這條數據后面的若干條數據作為一頁。這種分頁方法,原理簡單,但是存在的問題是每次都需要把數據庫中滿足條件的排序后數據都讀取出來,如果有兩千條數據,這個還好,如果有兩萬條呢?顯示,這會占用大量的內存,浪費很多服務器資源。當然,如果有條件的,可以用SQL數據庫,這樣就好辦多了,用一點存儲過程就全部解決了。不過可能很多朋友還是在用ACCESS數據庫,這樣就沒有辦法了。當然,還有一些程序是把分頁生成HTML,就像不少下載站點一樣,大家有沒有想過,這樣會出現什么問題?如果我在后臺一次添加一條記錄,那么我得把這個分類中所有的分頁都重新生成一次HTML,這是肯定的,想想吧,這樣效率是不是很差。 
均速分頁法就是為了解決在ACCESS數據庫中,大量數據的分頁而想出來的。它兼有HTML分頁和傳統ADO分頁的優點。一是速度快,占用資源少,不管你是第一頁還是第一百頁,程序速度都是相同的。而且在數據添加時,不必把所有分頁都重新生成。下面我把原理介紹一下 

三、分頁原理 
數據庫中有一個article表,一個class表,我們不考慮是不是無限級分類還是兩級分類,這個與我們無關。 
[article] id int IDENTITY (1, 1) NOT NULL, classid int default 0, title varchar(100), addtime datetime 
[class] id int IDENTITY (1, 1) NOT NULL, classname varchar(20) 

1、生成分頁 
如果class表中有一行數據是id為1,classname為“ASP分類”,我們先把所有article中所有classid=1的數據都取出來,然后按addtime升序排列,這個與普通的ADO分面是一樣的,但是,下面我們要進行一些處理。 
我們動態的在數據庫里生成一個表,名字叫[page_1],1就是對應的classname為“ASP分類”的ID自動編號。 
[page_1] pagenum int, pagestr text 

我們先每20條數據生成一個str,每個str實際就是顯示時這20條數據庫的列表,然后為這個str編個號XXX,如果是0-19條記錄,那么XXX就是001,如果是20-39,XXX就是002,以此類推。把str和它的編號加入page_1中。我們這里假設最大的是84 

大家肯定會想到,數據不可能總是整除19(20個數據應該是mod 19)呀,當然,我們要處理一下零頭,這些零頭應該是最新的數據(我們是按addtime)排列的。我們再動態的建立一個表,[aritcle_1] 
[article_1] id int IDENTITY (1, 1) NOT NULL, artid int, classid int default 0, title varchar(100), addtime datetime 
把多出來的零頭數據加入這個表中。 


2、數據的顯示 
定義pagecount是[page_1]的記錄數 

我們分兩種情況來 
(1)如果article_1沒有記錄(沒有零頭數據) 
第一頁是84,83 
第二頁是82,81 
第三頁是80,79 
…… 
第N頁是 : pagecount-(2*N-2), pagecount-(2*N-2)-1 

(2)如果article_1有記錄(有零頭數據) 
第一頁,調用article_1的數據,84 
第二頁,83,82 
…… 
第N頁是 : pagecount-(2*N-3), pagecount-(2*N-3)-1 

說明一下:其中84,83等等這些數字,就是在page_1中,你對應的str編號XXX 

說到這里可能大家就比較明白了,均速分頁法的原理實際是原來把頁面分好,在分頁的時候直接用頁面進行拼接。這比每次分頁的時候從數據庫里直接調用數據再進行分頁要來得省資源。 
同時,還可以說明一點的是,你完全可以不建立page_1表,而把這些str保存為HTML,然后在分頁的時候讀取出HTML頁面進行拼接。 

3、數據的添加 
在傳統的HTML分頁中,添加新數據后,要把所有的HTML分頁重新生成一次,在均速分頁法中,就無需這樣。我們前面已經設定了每個小頁面只顯示20條記錄,那么article_1表中,也只保存最多19條記錄。我們新添加一條記錄,那么同時把這條記錄加入到article_1中,如果article_1中的數據已經超19,那么就把這里面的數據生成一個str,加上編號后保存在[page_1]里,當然,如果你是用生成HTML的,你可以直接生成一個HTML。如果article_1中的數據已經沒有超19,那么就不用管它了。 


四、均速分頁法和傳統分頁的比較 
我用了兩千條數據的一個數據庫進行測試,在XP系統下,P3 1G,256M內存的硬件條件下,用均速分頁法平均速度在50MS,正負不超過10MS,用普通ADO分頁,速度在85MS,正負在20-35MS之間,可見用均速分頁法,在速度和穩定性上都是不錯的。 

當然,對于數據庫小的情況下,這樣的優勢可能并不明顯,或者可能用ADO分頁來的更快,但是如果在兩萬條數據的分頁中,均速分頁法的平均速度是普通ADO分頁法的一半。 

當然,均速分頁法也有自己的不足,比如程序復雜度比傳統分頁來的高,在數據庫少的時候性能不如ADO。 


五、最后一點說明: 
本文主要介紹的是均速分頁法的一個原理,我花了一個晚上用程序進行了實踐,是可行的。但我主要是把str生成HTML后讀取,與本文介紹的數據庫保存str有點不同,不過原理是一樣的。 

如果您有條件使用SQL數據庫,那么我建議您還是使用存儲過程來實現分頁的提速。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九九久久国产免费| 国产成人精品日本亚洲| 久久精品视频在线播放| 欧美老妇交乱视频| 欧美精品videos| 中文综合在线观看| 日韩免费看的电影电视剧大全| 久久精品国产一区二区三区| 亚洲成人在线网| 中文字幕v亚洲ⅴv天堂| 热草久综合在线| 国产精品福利网| 大荫蒂欧美视频另类xxxx| www.亚洲一二| 午夜精品视频在线| 91久久精品美女高潮| 91国内精品久久| 亚洲欧美色图片| 欧美激情第99页| 欧美国产在线视频| 青青在线视频一区二区三区| 亚洲国产精品福利| xvideos亚洲| 91精品国产综合久久香蕉| 成人午夜黄色影院| 亚洲天堂成人在线| 成人日韩在线电影| 欧美在线观看日本一区| 日韩美女免费视频| 久久精品国产一区| 欧美高清一级大片| 亚洲天堂视频在线观看| 青青草成人在线| 久久99久国产精品黄毛片入口| 久久久999精品视频| 97香蕉超级碰碰久久免费的优势| 亚洲精品日韩久久久| 91精品国产自产91精品| 欧美日韩国产中文精品字幕自在自线| 国产精品视频久久久| 日本久久91av| 亚洲mm色国产网站| 久久久久久免费精品| 亚洲aa中文字幕| 日韩av影院在线观看| 日韩精品视频在线播放| 三级精品视频久久久久| 精品亚洲一区二区三区四区五区| 97婷婷涩涩精品一区| 九九热精品视频国产| 国产精品a久久久久久| 久久人人爽人人爽人人片av高请| 欧美激情18p| 国产精品久久久久久久9999| 一区二区国产精品视频| 欧美激情中文字幕乱码免费| 日日狠狠久久偷偷四色综合免费| 国产精品久久久久久超碰| 91探花福利精品国产自产在线| 欧美在线性爱视频| 国产美女直播视频一区| 日韩av手机在线观看| 国产一区二区三区高清在线观看| 国产成人av在线播放| 亚洲天堂网在线观看| 久久精品男人天堂| 日韩成人小视频| 国产精品人成电影在线观看| 欧美xxxx18国产| 欧美在线激情网| 欧美激情在线播放| 一区二区亚洲精品国产| 国产精品欧美一区二区三区奶水| 亚洲三级黄色在线观看| 亚洲人成电影在线| 最近免费中文字幕视频2019| 国产欧美亚洲精品| 2019中文字幕免费视频| 国产成人精品网站| 欧洲永久精品大片ww免费漫画| 欧美自拍视频在线观看| 日韩在线欧美在线国产在线| 久久免费视频网| 欧美大片免费看| 18一19gay欧美视频网站| 欧美视频中文在线看| 国语自产精品视频在免费| 欧洲美女7788成人免费视频| 欧美日韩色婷婷| 欧美老女人性视频| 国产91ⅴ在线精品免费观看| 久久久久久久国产精品视频| yellow中文字幕久久| 九九综合九九综合| 国产精品揄拍500视频| 国产精品中文久久久久久久| 亚洲美女性视频| 亚洲一区久久久| 欧美成人性生活| 国产精品久久久久久婷婷天堂| 久久亚洲精品视频| 国产精品99久久久久久久久| 综合久久五月天| 欧美成人第一页| 久久精品电影网| 亚洲精品免费在线视频| 久久久国产精彩视频美女艺术照福利| 欧美激情a∨在线视频播放| 色噜噜久久综合伊人一本| 日韩精品中文在线观看| 国产99久久精品一区二区| 亚洲色图在线观看| 色噜噜狠狠色综合网图区| 亚洲xxxxx性| 精品久久久久久久大神国产| 亚洲色图校园春色| 久久精品电影网| 欧美另类极品videosbest最新版本| 91免费视频国产| 在线视频欧美性高潮| 国产精品∨欧美精品v日韩精品| 欧美午夜丰满在线18影院| 国产精品尤物福利片在线观看| 欧美成人精品在线播放| 欧美福利小视频| 欧美床上激情在线观看| 亚洲国产精彩中文乱码av| 8090理伦午夜在线电影| 日本精品va在线观看| 亚洲欧美综合精品久久成人| 美女黄色丝袜一区| 8050国产精品久久久久久| 久久综合免费视频影院| 97香蕉超级碰碰久久免费的优势| 日韩中文字幕在线播放| 国产精品美女主播在线观看纯欲| 欧美理论电影在线播放| 亚洲美女av在线播放| 成人中文字幕+乱码+中文字幕| 亚洲第一页在线| 欧美性少妇18aaaa视频| 日韩影视在线观看| 久久久中精品2020中文| 成人精品视频在线| 国产欧美日韩精品专区| 亚洲精品久久久久久久久| 高跟丝袜一区二区三区| 国产成人精品免高潮在线观看| 国产精品十八以下禁看| 久久国产精品久久国产精品| 日韩精品日韩在线观看| 亚洲综合国产精品| 亚洲精品视频网上网址在线观看| 欧美激情网站在线观看| 国产91成人在在线播放| 国内外成人免费激情在线视频网站| 日日摸夜夜添一区| 91最新在线免费观看| 正在播放亚洲1区| 国产精品第2页| 欧美日韩一区二区免费视频| 欧美xxxx18国产| 96sao精品视频在线观看| 77777亚洲午夜久久多人|