使用mongoose-paginate-v2查询缓慢问题
场景
mongoose-paginate-v2 是一个mongoose上的分页插件,我也用过很多次了,但是最近在创建项目遇到了问题。
老代码中不使用分页插件进行查询,然后自己使用中间件进行分页
old codes, 16ms
@Get('')public async index(@Query() query, @Pager() pager: any, @Req() req: Request, @Res() res: Response) {const map: any = {};if (query.group && query.group !== '') {map.group = query.group;}if (query.username && query.username !== '') {map.username = { $regex: query.username };}const count = await this.model.countDocuments(map);const page = pager.parse(count);console.log(page);const list = await this.model.find(map).sort({ updateAt: -1 }).limit(page.limit).skip(page.skip).select('_id group username device.deviceType deviceType createAt updateAt status enable creator proxy').populate('group');return res.status(HttpStatus.OK).json({message: 'success',data: {list: [],},});}
新代码中使用分页插件,耗时约1.5s 非常的缓慢
use paginate: 1532ms
public async slow(@Query() query, @Pager() pager: any, @Req() req: Request, @Res() res: Response) {const map: any = {};if (query.group && query.group !== '') {map.group = query.group;}if (query.username && query.username !== '') {map.username = { $regex: query.username };}const count = await this.model.count(map);const page = pager.parser(count);console.log(page);const list = await this.model.paginate(map, {limit: pager.limit,offset: pager.skip,select: '_id group username device.deviceType deviceType createAt updateAt status enable creator proxy',populate: ['group'],sort: { updateAt: -1 },});return res.status(HttpStatus.OK).json({message: 'success',data: list,});}
提issue
我也挺忙的,所以没去看代码,直接提了issue,目前收到回复是需要更新到新版本v1.3.3
更新后回复正常
Issue地址
博客: https://github.com/zhaojunlike
使用mongoose-paginate-v2查询缓慢问题相关推荐
- mysql百万数据 查总数都特别慢_mysql百万级数据分页查询缓慢优化方法
参考网址1:https://www.cnblogs.com/nightOfStreet/p/9647926.html -------------修改需求 一.与产品商讨 修改需求 ...
- oracle mysql查询速度慢_oracle 根据时间范围查询缓慢问题排查解决
今天生产环境上碰到个奇怪问题,在oracle数据库一个根据时间范围的查询语句居然执行了二十多分钟.一开始打印了执行sql日志之后就毫无反应了,任何错误都没有.把进程反复重启几次也一样.直到二十分钟后就 ...
- oracle分页 慢,oracle分页查询缓慢的情况
这是延续很久的问题了 项目使用的Oracle,一百多万数据,分页显示10条,高配服务器显示首页都要10秒以上,配置差的服务器要好几十秒,实在无法忍受,还不如 mysql的速度 前前后后多次想对这个进行 ...
- Day269.口罩预约抢购系统关注的问题、瞬时高流量Mysql查询缓慢原因 -Redis的高并发预约抢购系统
一.口罩预约抢购系统关注的问题 1.瞬时高流量sku缺乏监控会出现的问题 流量监控问题 如果不是值班人员细心,自己肉眼发现了这个预约SKU的涨幅不正常. 万一稍有疏忽没有观察到流量的异常,一旦到了抢购 ...
- oracle+分页很慢,oracle分页查询缓慢的情况
这是延续很久的问题了 项目使用的Oracle,一百多万数据,分页显示10条,高配服务器显示首页都要10秒以上,配置差的服务器要好几十秒,实在无法忍受,还不如 mysql的速度 前前后后多次想对这个进行 ...
- mongoose常用方法(查询篇)
条件 $or 或关系 $nor 或关系取反 $gt 大于 $gte 大于等于 $lt 小于 $lte 小于等于 $ne 不等于 $in 在多个值范围内 $nin 不在多个值范围内 $all 匹配数组中 ...
- express ajax分页实例,element+express+mongoose实现分页查询
一个element配合express实现分页查询的思路与实现. 技术栈Element Express Mongoose 前端实现 前端的分页使用了Element的分页组件. @current-chan ...
- 视图查询缓慢mysql_《高性能MySQL》读书笔记——第一章、MySQL架构与历史
MySQL最重要的特性是数据的处理与存储分离的存储引擎架构. 一.MySQL逻辑架构 1)第一层架构 -- 连接处理.授权认证.安全等. 2)第二层架构 -- MySQL的核心服务功能:存储过程.触发 ...
- laravel where in 查询缓慢优化
在使用where in 查询,in里面的字段很多的情况下,查询数据库是非常的缓慢 在有些场景下需要进行导入批量的查询,这很难绕过wherein查询 这种情况怎么优化 尝试: 转化成等值查询,循环查询, ...
- mysql数据库出现缓慢_MySQL查询缓慢的N种原因,以及N+1种解决方法
昨天查询数据库的时还正常,今早来上班时,SQL语句查询就突然变得很慢了.这样的情况我相信你一定遇到过. 下面就让小编来带你了解其中的原因吧! 本篇文章简单总结了一下可能导致数据库查询慢的原因,希望能给 ...
最新文章
- 循环斐波那契数列_剑指offer #10 斐波那契数列
- 4j导入节点与关系_Neo4j Cypher 中怎样根据值动态指定关系类型?
- 桌面笔记工具KeepNote
- jquery插件开发;(function ( $, window, document, undefined ){}(jQuery, window,document)分析
- How to find documentation of given API
- sys.stdin.read和raw_input函数
- set java底层实现_Java:List,Map,Set底层实现
- 数据科学 IPython 笔记本 7.12 透视表
- 如何避免点击事件连续操作时元素变蓝
- Linux chmod 命令 设置权限
- mysql导入大量数据时jbd2 io过高效率低下问题
- C语言估算数学常量e,数学常数e
- composer介绍
- A. Extreme Extension
- java把小写变大写_用java实现人民币小写变大写的方法
- 利用FFmpeg API进行字符叠加和加水印
- tpc ds mysql_TPC-DS 生成数据
- SPDK+NVMe SSD对接Virtio支撑红包场景性能
- 初识RPC中间件zeroC ICE工具之iceca
- 英语基础知识:定语使用规则下篇