Mongodb 添加索引 优化记录

每晚12点20分定时任务做数据统计,mongodb 50万条数据开始,每天晚上CPU报警:CPU>=95,并耗时3分钟以上.

bash 复制代码
2023-12-08 00:20:00.023 [Thread-95] INFO  c.q.i.q.jobhandler.dataMongoDBXxlJob - ==========定时生成记录开始=========
............
............
............
2023-12-08 00:20:24.719 [pool-49-thread-1] INFO............
2023-12-08 00:20:24.719 [pool-49-thread-3] INFO............
2023-12-08 00:20:24.719 [pool-49-thread-4] INFO............
2023-12-08 00:20:24.719 [pool-49-thread-5] INFO............
............
............
............
2023-12-08 00:23:11.362 [Thread-95] INFO  c.q.i.q.jobhandler.dataMongoDBXxlJob - ==========定时生成记录结束=========

分析原因:

集合是按月进行生成,集合名称"data-2023-12",新集合未自动添加相关索引

慢查询

增加索引

db.getCollection("data-2023-12").createIndex({

dataId: NumberInt("1"),

dateTime: NumberInt("1"),

pos: NumberInt("1")

}, {

name: "index_dataId_pos"

});

添加索引后定时任务执行时间,并且未触发cpu报警,耗时3秒左右

bash 复制代码
2023-12-08 15:51:41.584 [Thread-97] INFO  c.q.i.q.jobhandler.dataMongoDBXxlJob - ==========定时生成记录开始=========

..................

2023-12-08 15:51:41.810 [pool-51-thread-6] INFO  c.q.i.query.service.ChargingStatisticsInfoService -
2023-12-08 15:51:41.810 [pool-51-thread-6] INFO  c.q.i.query.service.ChargingStatisticsInfoService - 
2023-12-08 15:51:41.858 [pool-51-thread-2] INFO  c.q.i.query.service.ChargingStatisticsInfoService - 

..................

2023-12-08 15:51:44.161 [Thread-97] INFO  c.q.i.q.jobhandler.dataMongoDBXxlJob - ==========定时生成记录结束=========
相关推荐
全能全知者8 分钟前
docker快速安装与配置mongoDB
mongodb·docker·容器
齐 飞10 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
云空10 分钟前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
暮毅15 分钟前
10.Node.js连接MongoDb
数据库·mongodb·node.js
wowocpp18 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
成富40 分钟前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle
songqq2741 分钟前
SQL题:使用hive查询各类型专利top 10申请人,以及对应的专利申请数
数据库·sql
计算机学长felix1 小时前
基于SpringBoot的“校园交友网站”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·毕业设计·交友
小码的头发丝、1 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
Karoku0662 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix