TODO:数据库优化之分页
admin
2023-05-30 13:22:26
0

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:数据库优化之分页


相关内容

热门资讯

亨特·拜登首次承认“硬盘门”为... 美国极右翼评论员坎迪斯·欧文斯5月21日发布了对美国前总统拜登儿子亨特·拜登的专访,后者首次承认笔记...
特朗普称将向波兰增派5000名... △美军士兵(资料图)当地时间5月21日,美国总统特朗普在其社交平台“真实社交”发文称,美国将向波兰额...
长三角最新一批创新联合体出炉 ... 上证报中国证券网讯(记者 宋薇萍 张良)5月21日在上海召开的第八届长三角一体化发展高层论坛上,第三...
原创 流... 谷歌正式开启新一轮 AI 搜索广告大规模测试,借助 Gemini 大模型推出多款全新广告形式,将付费...
天津高空跳伞遇难女子原计划今年... 极目新闻记者 舒隆焕天津高空跳伞项目发生事故,一名女员工和教练遇难(极目新闻5月18日报道)。记者从...
这部电影,道尽了中国人的情义二... 12015年,我还在深圳工作。一个周末,我和小小明妈妈带着小小明,开车好几个小时,就为了看一眼大名鼎...
原创 宇... 「宇宙探索·伽马射线暴——宇宙中最亮的爆炸」 一、什么是伽马射线暴? 1967年,美国Vela...
2026年外贸企业谷歌SEO选... 一、引言:流量困局与增长迷思 2026年,外贸企业面临的营销困境正从“流量获取难”演变为“转化效率低...
原创 科... 你以为的宇宙,有可能是一个超级巨型黑洞,银河系在这个超大黑洞的内部,仅仅只是一粒微不足道的宇宙尘埃!...
伊朗外交部:现阶段谈判重点是结... 当地时间5月21日,伊朗外交部发言人巴加埃在接受媒体采访时表示,现阶段,谈判的重点是结束包括黎巴嫩在...