Mongodb 添加索引 优化记录

这篇具有很好参考价值的文章主要介绍了Mongodb 添加索引 优化记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

Mongodb 添加索引 优化记录,mongodb,数据库

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”,新集合未自动添加相关索引

慢查询

Mongodb 添加索引 优化记录,mongodb,数据库

增加索引

db.getCollection("data-2023-12").createIndex({
    dataId: NumberInt("1"),
    dateTime: NumberInt("1"),
    pos: NumberInt("1")
}, {
    name: "index_dataId_pos"
});

添加索引后定时任务执行时间,并且未触发cpu报警,耗时3秒左右文章来源地址https://www.toymoban.com/news/detail-752944.html

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 - ==========定时生成记录结束=========

到了这里,关于Mongodb 添加索引 优化记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DBA技术栈MongoDB: 索引和查询优化

    单条数据插入 db.collection.insertOne() 多条数据插入 db.collection.insertMany() 插入数据 2.2.1 常规查询方式 2.2.2 索引和查询优化 索引是个与数据存储和査询相关的古老话题,目的只有一个:“提高数据获取的性能”。 我们知道一本书的前面几页肯定会有一个目录,这个目录式的索引

    2024年01月21日
    浏览(37)
  • 索引优化、优化,你又是一个好MongoDB!!!博学谷狂野架构师

    作者: 博学谷狂野架构师 GitHub: GitHub地址 (有我精心准备的130本电子书PDF) 只分享干货、不吹水,让我们一起加油!😄 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。 什么是索引 索引

    2023年04月11日
    浏览(27)
  • 【数据库MongoDB】MongoDB与大数据关系以及MongoDB中重要的进程:mongod进程与mongo进程关系

    云计算的定义有多种说法,对于到底什么是云计算,我们至少可以找到100种解释。目前广为接受的是美国国家标准与技术研究院定义: 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器

    2024年02月02日
    浏览(68)
  • 〖Python 数据库开发实战 - MongoDB篇⑧〗- MongoDB的数据结构

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月09日
    浏览(77)
  • MongoDB——MongoDB删除系统自带的local数据库

    1.1、linux环境进入mongo客户端 输入 mongo 命令,进入命令行客户端 进入admin库,并登录,查看所有数据库 提升用户权限,然后进入local库并删除local库 然后重新进入admin库,把提升的用户权限降回,再次查看所有数据库 由上图可知,local库已被删除。

    2024年02月06日
    浏览(54)
  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(91)
  • MongoDB数据库从入门到精通系列文章之:MongoDB数据库百篇技术文章汇总

    MongoDB数据库系列文章持续更新中: 更多数据库内容请阅读博主数据库专栏,数据库专栏涵盖了Mysql、SQLServer、PostgreSQL、MongoDB、Oracle、Cassandra等数据库 数据库专栏 文章名称 文章链接 数据库安装部署系列之:部署Mongodb5.0.6高可用集群详细步骤 数据库安装部署系列之:部署M

    2024年02月11日
    浏览(54)
  • Mongodb连接数据库

    npm init   npm i mongoose  const mongoose=require(\\\"mongoose\\\") mongoose.connect(\\\"mongodb://127.0.0.1:27017/user\\\") 说明:mongodb是协议,user是数据库,如果没有会自动创建user数据库 。 node 文件名     mongoose.disconnect()

    2024年02月15日
    浏览(59)
  • mongodb数据库操作

    1、启动mongodb 在mongodb启动命令中 --dbpath 指定mongodb的数据存储路径 --logpath 指定mongodb的日志存储路径 2、停止mongodb 第一步先进入mongo命令行模式 第二步,使用use admin 命令进入admin数据库 第三步,执行 db.shutdownServer()命令 停止服务。代码及显示如下:  2 、导出Mongodb数据 mon

    2024年02月09日
    浏览(50)
  • MongoDb数据库

    1.显示所有数据库: show dbs 2.切换到指定数据库,如果没有则自动创建数据库 use databaseName 3.显示当前所在数据库 db 4.删除当前数据库 use 库名 db.dropDatabase() 1.创建集合 db.createCollection(\\\'集合名称\\\') 2.显示当前数据库中所有集合 show colletions  3.删除某个集合 db.xxx.drop(); 4.重命名集

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包