当前位置: 首页 > news >正文

在电脑上怎么建设网站外贸云网站建设

在电脑上怎么建设网站,外贸云网站建设,成都电子商城网站开发,网站线框图怎么做现象: mongodb cpu动不动要100%,如下图 分析原因: 查看慢日志发现,很多条这样的查询,一直未执行行完成,占用大量的CPU [{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: …

现象:

mongodb cpu动不动要100%,如下图

b33bd5ddcbe55a25de93863f6f415f1d.png               

分析原因:

查看慢日志发现,很多条这样的查询,一直未执行行完成,占用大量的CPU

[{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: "minute","tags.type": "task","tags.taskRecordId":"64e5c004133738231bc36906",},},{$sort: {_id: -1,},},{$limit: 5,},{$unwind: "$ss",},{$group: {_id: "$ss.vs.inputQps",qps: {$avg: "$ss.vs.inputQps",},},},
]

查看程序里面有一段聚合的代码

Criteria criteria = new Criteria();
tags.forEach((k,v)->{String format = String.format(TAG_FORMAT, k);criteria.and(format).is(v);
});
criteria.and(MeasurementEntity.FIELD_GRANULARITY).is(Granularity.GRANULARITY_MINUTE);
MatchOperation match = Aggregation.match(criteria);
SortOperation sort = Aggregation.sort(Sort.by(Sort.Direction.DESC, "_id"));
LimitOperation limit = Aggregation.limit(5);
UnwindOperation unwind = Aggregation.unwind("ss", false);
GroupOperation group = Aggregation.group().avg("ss.vs.inputQps").as("qps");
Aggregation aggregation = Aggregation.newAggregation(match, sort, limit, unwind, group);

看一下这个代码也没有多大问题,但是就是执行很慢很慢,于是我explain这条语句,发现是先执行全集合sort 然后再match的,理论上应该是先match,然后再执行针对查询的结果做sort的

afc8284f9012b97ba7173a34d6b04b0b.png

已经使用了 $match 和 $sort 操作来筛选和排序文档。仍然对整个集合进行了排序?

这可能是由于 MongoDB 的查询优化器在执行查询时做出的决策。在 MongoDB 中,查询优化器会尝试根据查询计划和索引来优化查询性能。在某些情况下,优化器可能会选择在 $match 操作之后对整个集合进行排序,而不仅仅是对 $match 操作筛选出的文档进行排序。这可能是因为优化器认为在整个集合上进行排序的成本更低,或者由于其他优化策略。如果你希望只对 $match 操作筛选出的文档进行排序,可以尝试使用索引来优化查询。确保你的查询条件和排序字段都有适当的索引,这样可以帮助优化器做出更好的决策,以便只对筛选结果进行排序。

解决方案

在这种情况下,你可以尝试创建一个复合索引,包含筛选条件和排序字段。例如,你可以创建一个包含 "tags.taskId","grnty","tags.typ","tags.taskRecordId","_id" 字段的复合索引。这样,MongoDB 在执行查询时可以使用该索引来加速筛选和排序操作。

 总结

为了只对筛选结果进行排序,你可以尝试以下步骤:

  1. 创建一个复合索引,包含筛选条件和排序字段。

  2. 确保查询条件和排序字段在索引中的顺序与聚合管道中的顺序一致。

  3. 使用 explain() 方法来查看查询的执行计划和索引使用情况,以便进行优化。

http://www.yayakq.cn/news/271375/

相关文章:

  • wordpress时间做旧佛山网站推广优化公司
  • 成都网站建设冠辰长沙网站开发流程
  • 2017优秀网站设计案例网站建设板块
  • 高端网站设计v芯hyhyk1推好成都网站建设交易
  • 外网如何查看局域网建设的网站网店美工设计论文
  • 做网站虚拟主机好还是子目录做网站
  • 宁波外贸公司网站建设网页模板免费资源
  • 建网站教程视频下载可以自己做图片的软件
  • 网站模板 外贸工厂做网站需要会什么语言
  • 怎么下载网站页面深圳福田网站制作公司
  • 中国建设银行网站易方达消费注册个公司需要什么条件
  • 大神部落 网站建设网站推广优化怎么做最好
  • 高新区微网站建设汝南企业网站建设
  • wordpress站点如何加速织梦cms网站模板
  • 网站建设氺金手指排名15网店推广的重要性
  • 杭州网站建设公司联系方式企业信息平台查询
  • 给个网站谢谢网站地图怎样做
  • 济南建设网站企业收费做dj音叉网站平台
  • 建网站科技公司低多边形生成网站
  • 安阳汤阴县网站建设微信订单网站模版
  • flash建网站教程徐州网约车公司哪家好
  • 网站seo监测无加盟费先铺货的项目
  • 网站代理公司黄冈网站搭建推荐
  • 长沙人才招聘网长沙58同城招聘网郑州seo管理
  • 做网站的企业文化怎么写丰台建站推广
  • alexa全球网站排名不关闭网站 备案
  • 无锡网站排名哪里有以公司名称为后缀的邮箱
  • 一个人怎样做网站网站规划与设计期末大作业怎么做
  • php app网站建设wap网站制作app
  • 物流网站模板免费ui设计培训是什么