所謂分頁顯示,也就是將資料庫中的結果集人為的分成一段一段的來顯示,這裡需要兩個初始的引數:
每頁多少條記錄(pagesize)?
當前是第幾頁(currentpageid)?
現在只要給乙個結果集,就可以顯示某段特定的結果出來。
以mysql資料庫為例,如果要從表內擷取某段內容,sql語句可以用:select * from table limit offset, rows。看看下面一組sql語句,嘗試一下發現其中的規率。
前10條記錄:select * from table limit 0,10
第11至20條記錄:select * from table limit 10,10
第21至30條記錄:select * from table limit 20,10
這一組sql語句其實就是當pagesize=10的時候取表內每一頁資料的sql語句,我們可以總結出這樣乙個模板:
select * from table limit (currentpageid - 1) * pagesize, pagesize
拿這個模板代入對應的值和上邊那一組sql語句對照一下看看是不是那麼回事。
mysql分頁概念 MySQL 分頁
分頁的基本原理 mysql explain select from message order by id desc limit 10000,20 1.row id 1 select type table message type index possible keys null key prima...
mysql巢狀分頁 MySQL分頁優化
最近,幫同事重寫了乙個mysql sql語句,該sql語句涉及兩張表,其中一張表是字典表 需返回乙個字段 另一張表是業務表 本身就有150個字段,需全部返回 當然,欄位的個數是否合理在這裡不予評價。平時,返回的資料大概5w左右,系統尚能收到資料。但12月31日那天,資料量大概20w,導致sql執行時...
mysql 分頁 重複 Mysql分頁重複問題
因為這個bug,同事差點被祭天 mp.weixin.qq.com 前言前些天同事告訴我遇到乙個的bug.mysql分頁時每頁的資料中有重複的資料.我一聽驚呆了,以前怎麼都沒有遇見這種事情.案件重演 用於涉及到業務表,不方便截圖.就用簡單的模擬資料表來進行測試吧 建立學生表 create table ...