溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL實現分頁查詢的方法

發布時間:2020-08-26 14:50:33 來源:億速云 閱讀:234 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹MySQL實現分頁查詢的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

MySQL中實現分頁查詢:在數據量較小的情況下可使用limit查詢來實現分頁查詢,在數據量大的情況下使用建立主鍵或唯一索引來實現,另外可通過order by對其排序

在后端項目中總是避免不了admin管理,當后臺管理需要展示數據時就會需要用到分頁。

MySQL實現分頁查詢的方法

一般情況下在MySQL中進行分頁查詢時,會用到limit查詢,而且在查詢中都會使用到order by來進行排序。接下來將具體介紹MySQL是如何實現分頁查詢的

分頁需求:

客戶端通過傳遞start(頁碼),limit(每頁顯示的條數)兩個參數去分頁查詢數據庫表中的數據,MySql數據庫提供分頁的函數有limit m,n,但是該函數的用法和我們的需求不一樣,所以就需要根據實際情況去改寫適合自己的分頁語句。例

查詢第1條到第10條的數據的sql是:

select * from table limit 0,10;

對應我們的需求就是查詢第一頁的數據:

select * from table limit (1-1)*10,10;

從上面的分析我們可以得出分頁sql的格式是:

 select * from table limit (start-1)*limit,limit;

其中start是頁碼,limit是每頁顯示的條數。

建立主鍵或者唯一索引

在數據量較小的時候使用 limit 進行數據分頁在性能上面不會有明顯的緩慢,但是當數據量達到了萬級或百萬級時,sql語句的性能將會影響數據的返回。這是就要使用主鍵或者是唯一索引來代替limit進行數據分頁

例:返回10到50之間的數據

設主鍵或唯一索引為demo_id

select * from table where demo_id > (pageNo-1)*pageSize limit pageSize;

基于數據再排序

當需要返回的信息要按順序或者逆序時,就需要對上面的數據進行排序??捎胦rder by ASC表示順序,order byDESC表示逆序,一般情況下默認的為順序

例:返回的數據依照demo_id的順序進行排列

select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;

以上是MySQL實現分頁查詢的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女