千萬級數(shù)據(jù)的分頁
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
問題 想說這個問題,來源來自于CSDN論壇的一個帖子:《sqlserver2005,1690萬的數(shù)據(jù)量怎么快速分頁查詢》 在之前也有很多人問類似這樣的問題,回復(fù)這樣的問題,我們一般會從索引,水平分區(qū),垂直分區(qū)和硬件的升級等方面考慮。
分析 對于千萬級數(shù)據(jù)的分頁,要求在秒級內(nèi)響應(yīng),解決方案除了剛列的幾個方面考慮,這里說一個非常重要的考慮(評估)是,現(xiàn)實(shí)意義。 拿CSDN論壇的那1690萬數(shù)據(jù)來說,我按每頁顯示200行數(shù)據(jù),需要84500頁。從站在用戶(使用者)角度看,對于查看1萬頁以后的數(shù)據(jù)的概率是非常小。假設(shè)我們是使用者,讓我們一頁一頁的點(diǎn),點(diǎn)到100頁都夠郁悶的了,更何況是1萬頁后的數(shù)據(jù)了。這里從現(xiàn)實(shí)意義角度考慮,1萬頁以后的現(xiàn)實(shí)意義有多大?
解決方案 根據(jù)從現(xiàn)實(shí)意義角度分析,對千萬級數(shù)據(jù)的分頁,我們呈現(xiàn)給用戶的,首先考慮的是用戶最關(guān)心的,對用戶來最有價(jià)值的信息。對于過期,沒意義的數(shù)據(jù)需要考慮不呈現(xiàn)給用戶。因?yàn)槌尸F(xiàn)沒意義的數(shù)據(jù),對用戶來說多余,對后臺服務(wù)器來說負(fù)荷,嚴(yán)重的可能會導(dǎo)致服務(wù)器癱瘓。 在大型網(wǎng)站都有這方面的考慮,控制呈現(xiàn)的總頁數(shù),下面我們列出幾個網(wǎng)站采用控制總頁數(shù)的方案: 搜狗最多顯示100頁:
百度最多顯示76頁,其實(shí)你點(diǎn)到76頁,顯示第75頁,感覺這位置有問題,而且相關(guān)結(jié)果就是1億個。這里有玩文字的,使用了一個“約”,云里霧里的,蒙人呀。 很多時(shí)候你稍注意下,都是返回1億個,O(∩_∩)O~。
測試Google,大概分頁最大頁范圍是71-79頁,它好一點(diǎn)就是沒像百度籠統(tǒng)用“1億”。
淘寶的寶貝搜索最大頁是200頁:
小結(jié) 從前邊的問題到分析,及解決方案,我們可以了解對千萬級數(shù)據(jù)分頁的處理,最重要的一個評估方面就是,現(xiàn)實(shí)意義,需要多站在使用者角度分析問題,參考成功案例,從而找到可行的解決方案。 該文章在 2012/4/9 9:14:55 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |