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

溫馨提示×

溫馨提示×

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

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

TODO:數據庫優化之分頁

發布時間:2020-07-21 06:25:30 來源:網絡 閱讀:240 作者:OneTODO 欄目:數據庫

TODO:數據庫優化之分頁

TODO:數據庫優化之分頁

本文的例子是以MongoDB數據庫為準,其它數據庫各位也可以舉一反三進行優化。

在MongoDB中分頁使用

a.skip(n)跳過前n個匹配的文檔;

b.limit(m)返回m個結果,要是匹配的結果不到m個,則返回匹配數據量的結果,m是指定上限數量,而不是下限數量;

c.sort({“name”: 1,”address”:-1}),1表示升序,-1表示降序。

使用skip跳過少量的文檔還可以。但是數據量非常多的話,skip就會變得非常慢,每個數據庫都會有這種情況,所以要盡量避免過多的使用skip。那要怎么做分頁,我們可以利用上次的結果來計算下次的查詢。

1.使用skip的分頁

Page1 = db.user.find({}).limit(100)

Page2 = db.user.find({}).skip(100).limit(100)

Page3 = db.user.find({}).skip(200).limit(100)

2.利用上次的結果來計算下次的查詢,按時間戳(timestamp)排序

獲取第一頁

Page1 = db.user.find({}).sort({“timestamp”: -1}).limit(10)

獲取當前頁面的最后一條記錄的時間戳lasttimestamp,

根據lasttimestamp進行查詢下一頁數據

Nextpage=db.user.find({“timestamp”:{“$gt”:lasttimestamp}}).sort({“timestamp”: -1}).limit(10)

這樣查詢就沒有使用到skip,但是要確保timestamp唯一約束確保文檔中的數據沒有相同的值。


wxgzh:ludong86

TODO:數據庫優化之分頁


向AI問一下細節

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

AI

嵩明县| 彰化市| 东乡| 中宁县| 永城市| 社旗县| 肥西县| 忻城县| 海城市| 永州市| 资讯| 偃师市| 白玉县| 天祝| 怀来县| 南丰县| 余庆县| 宜良县| 定襄县| 临泽县| 太谷县| 通辽市| 武山县| 张北县| 米林县| 勐海县| 滨州市| 翁牛特旗| 尼木县| 都江堰市| 任丘市| 牟定县| 蒙阴县| 民丰县| 高唐县| 榆林市| 鸡泽县| 宁津县| 安仁县| 河东区| 宝应县|