分頁基本原理 c

2021-06-10 05:28:37 字數 1182 閱讀 7764

分頁是web應用程式非常重要的乙個技術。資料庫中的資料可能是成千上萬的,不可能吧這麼多的資料一次顯示在瀏覽器上面。一般根據每行資料在頁面上所佔的空間每頁顯示若干行,比如一般20行是乙個比較理想的顯示狀態。

分頁方法主要有以下兩種思路:

(1)取出所有符合條件的資料,放到資料集或者記憶體中,然後逐頁瀏覽。例如,有可能每頁只需要瀏覽20條記錄,但使用這種分頁方法需要把所有記錄取出來,這種分頁思路叫做「指標分頁」。指標分頁法主要是利用資料集的指標(或者集合的下標)來標識。比如,分頁要顯示20條資料,那麼第一頁的指標從1開始,第二頁的指標從(2-1)*20+1開始,以此類推。「指標分頁」適合資料量和併發量不是很高的應用系統,不適合海量的資料查詢。指標分頁步驟:

a:取得originallist物件中的商品總數,存放在頁面變數pagenumber中,並將此值作為總頁數的初始值後,根據每頁顯示商品的數量再進行修改:

int pagenumber = originallist.size();    // 計算出記錄總數

int maxpage = pagenumber;    // 計算有多少頁數

b:初始化一些必要引數,其中request.getparameter("pagenum")是使用request內建物件的getparameter方法獲取引數名為pagenum的請求值,在這裡是使用者要顯示的頁碼。

string strnumber = request.getparameter("pagenum");

int number = 0;    // 待顯示頁碼,預設為第1頁

if(maxpage % 4 == 0) else else else

<% } else {    // 目前顯示的不是第1頁

(2)對於海量的資料查詢,看多少取多少,顯然是最佳的解決方法。假如某個表中有200萬條記錄,第一頁就取前20條,第二頁去21~40條。此時可以使用:

select top 當前頁*每頁記錄數查詢字段列表 from 表a where 主鍵字段 not in (select top (當前頁-1)*每頁記錄數主鍵字段 from 表a)

這樣的語句來實現,因為這種查詢方式要用到主鍵,所有把它叫做「主鍵分頁」。

對於完整的分頁,應當包括記錄數,頁數,當前頁數,向前,向後,最前,最後等。所以,無論是指標分頁,還是主鍵分頁,需獲得乙個類似「select count(*) as 記錄總數 from 表名」這樣的語句,從而獲得記錄數。

mysql分頁sql基本原理

假設資料庫表student存在13條資料。語句1 select from student limit 9,4 語句2 slect from student limit 4 offset 9 語句1和2均返回表student的第10 11 12 13行 語句2中的4表示返回4行,9表示從表的第十行開始...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

分頁基本原理 linux0 11

我們都知道cpu定址過程是 邏輯位址 分段 線性位址 分頁 實體地址。邏輯位址由段選擇符和段偏移位址兩部分組成 可以通過段選擇符在段描述符表中找到段基位址,段基位址 段偏移位址 線性位址。在32位cpu架構中,mmu使用的是平坦記憶體模型,即所有的段基位址都是0,所以邏輯位址可以很容易在分段過程中過...