mongoDB 优化(1)索引

1、创建复合索引(多字段)

db.collection_test1.createIndex(
    {
        deletedVersion: 1,
        param: 1,
        qrYearMonth: 1
    },
    {
        name: "deletedVersion_1_param_1_qrYearMonth_1",
        background: true
    }
);

2、新增索引前:

执行查询:

mb.runSQLQuery(`

        SELECT * FROM product_qr_t  where param='56-2-qaf9-ab27' and qrYearMonth=20240227 and deletedVersion=0
       
`).sort({_id:-1})
  .limit(100)

查询一个doc 的时长 5.652s  (远程连接云服务器查询) 

NoSQLBooster for MongoDB客户端

3、新增索引后:

查询一个doc 的时长0.95s (远程连接云服务器查询)

NoSQLBooster for MongoDB客户端

4、批量插入10W 数据量:

新增索引前插入时长:72852ms (平均) 

新增索引后插入时长:75447ms (平均)

数据量 280W:

NoSQLBooster for MongoDB客户端

30W数据,批量插入

分3批并行执行,平均 :88796ms

MongoDB 支持多线程并发写入,10W可以并行分多线程处理:

优化后: 

批量存储10W数据,平均耗时35214ms            
批量存储5W,平均耗时21209ms            
批量存储1W,平均耗时2094ms

5、单机配置:16C32G SSD

6、索引相关知识:

MongoDB索引与性能优化-CSDN博客

mongodb,也有执行计划,但是感觉看不懂,只知道加了索引,有效果

mongodb基础篇--explain执行计划_mongodb explain() rejectedplans-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/425428.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[业务系统]人物坐骑系统介绍I

1.问题描述 旧版本的坐骑系统依赖于人物装备了【法宝】(一种装备类型),装备了法宝的人物变拥有了【幻化】坐骑的能力,即在人物装备栏中的【外观】中会有已经幻化和未幻化(解锁)的坐骑。如果玩家至少幻化一…

【笔试强训错题选择题】Day5.习题(错题)解析

文章目录 前言 错题题目 错题解析 总结 前言 错题题目 1. ​ ​ 2. 3. ​ 4. ​ 5. ​ 错题解析 1. 移位运算符的使用 2. 3. 4. 5. 总结

股票技术指标(包含贪婪指数)

股票技术指标是用于分析股票价格和成交量数据,以便预测未来市场走势的工具。技术分析师使用这些指标来识别市场趋势、价格模式、交易信号和投资机会。技术指标通常基于数学公式,并通常在股票价格图表上以图形形式表示。 技术指标主要分为以下几类&#x…

过于老旧的pytorch_ssim包 请从github下载源码

有些冷门算法真的不要随便pip,有可能下载到史前版本…最好还是找源代码 汗 今天要用到SSIM损失函数,从网上简单看了一下原理就想测试一下,偷了一下懒就直接在命令行输入pip install pytorch_ssim了,结果报了一堆错误(汗…

冒泡排序(C语言详解)

原理:从左到右一次比较,如果左侧数字比右侧数字大(小),则两数交换,否则比较下一 组数字,每一次大循环比较可以将乱序的最右侧数字改为最大(最小)&#xff0c…

在springboot项目中调用通义千问api多轮对话并实现流式输出

官网文档 阿里灵积提供了详细的官方文档 如何实现多轮对话 官方文档中提到只需要把每轮对话中返回结果添加到消息管理器中,就可以实现多轮对话。本质上就是将历史对话再次发送给接口。 如何实现流式输出 官方文档中提出使用streamCall()方法就可以实现流式输出&…

本届挑战赛亚军方案:基于大模型和多AGENT协同的运维

“轻舟已过万重山团队”荣获本届挑战赛亚军,该团队来自华为集团IT-UniAI 产品和openEuler系统智能团队。 方案介绍 自ChatGPT问世以来,AI迎来了奇点iPhone时刻,这一年来大模型深入影响企业办公,金融,广告,…

上位机图像处理和嵌入式模块部署(上、下位机通信的三个注意点)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 如果最终部署在客户现场的是一个嵌入式设备,那么上位机在做好了算法编辑和算法部署之后,很重要的一步就是处理上位机和下位…

Mybatis 主从表有名字相同,只能查询出一条数据

Mybatis 主从表有名字相同,只能查询出一条数据 重新命名后,可以正常查询

【HarmonyOS】鸿蒙开发之Stage模型-UIAbility的启动模式——第4.4章

UIAbi lity的启动模式简介 一共有四种:singleton,standard,specified,multion。在项目目录的:src/main/module.json5。默认开启模式为singleton(单例模式)。如下图 singleton(单实例模式)启动模式 每个UIAbility只存在唯一实例。任务列表中只会存在一…

多个地区地图可视化

1. 配置Json文件 1.1 获得每个省份的json数据 打开 阿里云数据可视化平台 主页。 在搜索框中输入所需省份。 将json文件下载到本地。 1.2 将各省份的json数据进行融合 打开 geojson.io 主页 点击 open,上传刚刚下载的 json 文件,对多个省份不断…

SpringCloud负载均衡源码解析 | 带你从表层一步步剖析Ribbon组件如何实现负载均衡功能

目录 1、负载均衡原理 2、源码分析 2.1、LoadBalanced 2.2、LoadBalancerClient 2.3、RibbonAutoConfiguration 2.4、LoadBalancerAutoConfiguration 2.5、LoadBalancerIntercepor⭐ 2.6、再回LoadBalancerClient 2.7、RibbonLoadBalancerClient 2.7.1、DynamicServe…

JavaScript进阶-高阶技巧

文章目录 高阶技巧深浅拷贝浅拷贝深拷贝 异常处理throw抛异常try/caych捕获异常debugger 处理thisthis指向改变this 性能优化防抖节流 高阶技巧 深浅拷贝 只针对引用类型 浅拷贝 拷贝对象后,里面的属性值是简单数据类型直接拷贝值,如果属性值是引用数…

matlab 写入格式化文本文件

目录 一、save函数 二、fprintf函数 matlab 写入文本文件可以使用save和fprintf函数 save输出结果: fprintf输出结果: 1.23, 2.34, 3.45 4.56, 5.67, 6.78 7.89, 8.90, 9.01 可以看出fprintf输出结果更加人性化,符合要求,下面分别介绍。 一、save函数 …

【前端寻宝之路】学习如何使用HTML实现简历展示和填写

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-iJ3Ou0qMGFVaqVQq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

哈希表是什么?

一、哈希表是什么? 哈希表,也称为散列表,是一种根据关键码值(Key value)直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,从而加快查找速度。这个映射函数叫做散列函数&#xff08…

【字符串相加】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 字符串相加 方法一: 方法二: 总结 前言 世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的…

给你N个整数,要求删除最大和最小的数之后按原顺序输出。

给你N个整数&#xff0c;要求删除最大和最小的数之后按原顺序输出。 输入输出格式 输入描述: 第一行输入一个整数N&#xff0c;N<100。 第二个输入N个整数。 输出描述: 按题意输出。#include <iostream> using namespace std; int main() {int n;cin >> n;int…

Vue2->3

Vue2->3 认识Vue31. Vue2 选项式 API vs Vue3 组合式API2. Vue3的优势 使用create-vue搭建Vue3项目1. 认识create-vue2. 使用create-vue创建项目 熟悉项目和关键文件组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. <script setup>语法糖…

Scratch 第十六课-弹珠台游戏

第十六课-弹珠台游戏 大家好&#xff0c;今天我们一起做一款弹珠台scratch游戏&#xff0c;我们也可以叫它弹球游戏&#xff01;这款游戏在刚出来的时候非常火爆。小朋友们要认真学习下&#xff01; 这节课的学习目标 物体碰撞如何处理转向问题。复习键盘对角色的控制方式。…
最新文章