中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

mysql 中怎么實現limit分頁查詢

發布時間:2021-08-04 16:50:37 來源:億速云 閱讀:225 作者:Leah 欄目:數據庫

本篇文章為大家展示了mysql 中怎么實現limit分頁查詢,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。


  優化方法1(讓分頁操作在索引中進行):
  一般表中經常作為條件查詢的列都會建立索引,例如如下查詢
  Sql代碼
  SELECT msg_id, msg_content FROM message ORDER BY gmt_create desc LIMIT 100, 20;
  可以寫成如下方式
  Sql代碼
  SELECT msg_id, msg_content FROM message
  INNER JOIN (
  SELECT msg_id FROM message
  ORDER BY gmt_create LIMIT 100, 20
  ) AS page USING(msg_id);
  這樣當前查詢頁的內容就只會在索引中進行,當得到當前頁的msg_id再統一通過一個INNER JOIN得到最終要得到的數據詳情,避免了對大量數據詳情進行操作的消耗。當然JOIN操作也可以通過子查詢實現,不過書中介紹5.6之前版本的 mysql相比子查詢還是優先使用JOIN。
  優化方法2(顯式指定要查詢的索引列范圍)
  例如方法一中的gmt_create是建立索引的列,而且你也知道要查詢的時間范圍,這樣你就可以通過如下查詢語句:
  Sql代碼
  SELECT msg_id, msg_content FROM message
  WHERE gmt_create BETWEEN #startTime# AND #endTime#
  ORDER BY gmt_create desc
  這樣數據庫通過一個范圍查詢就可以得到想要的數據。
  優化方法3(OFFSET作為查詢條件顯式指定)
  例子還是如上,我們可以在查詢參數中顯式指定一個查詢時間,叫做lastVisitTime吧。我們查詢第一頁可以用如下語句:
  Sql代碼
  SELECT msg_id, msg_content FROM message
  ORDER BY gmt_create desc
  LIMIT 20
  我們把讀出來的數據的最后一條數據的gmt_create字段記錄在lastVisitTime字段中,那么后邊頁的查詢就可以用如下語句實現:
  Sql代碼
  SELECT msg_id, msg_content FROM message
  WHERE gmt_create < #lastVisitTime#
  ORDER BY gmt_create desc
  LIMIT 20;
  這種查詢方式,無論你查詢多少頁,分頁都不會是影響效率的因素。

上述內容就是mysql 中怎么實現limit分頁查詢,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

筠连县| 屯昌县| 石嘴山市| 汾西县| 巴彦县| 尉犁县| 廉江市| 清苑县| 东阳市| 天峨县| 融水| 松江区| 灌南县| 阳东县| 遂平县| 黔南| 囊谦县| 宣武区| 台南县| 堆龙德庆县| 玛曲县| 广汉市| 攀枝花市| 宁津县| 苏州市| 安康市| 洪江市| 五台县| 庆城县| 集安市| 鄂尔多斯市| 沧州市| 越西县| 邢台县| 定安县| 文成县| 阳原县| 高安市| 广元市| 斗六市| 宜黄县|