mongoDB 优化(1)索引

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

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

2、新增索引前:

执行查询:

bash 复制代码
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 (远程连接云服务器查询)

3、新增索引后:

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

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

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

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

数据量 280W:

30W数据,批量插入

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

5、单机配置:16C32G SSD

6、索引相关知识:

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

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

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

相关推荐
韩立学长1 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
TDengine (老段)2 小时前
TDengine 字符串函数 CONCAT_WS 用户手册
android·大数据·数据库·时序数据库·tdengine·涛思数据
IT 小阿姨(数据库)2 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
熊文豪3 小时前
openEuler 云原生实战:部署高性能 Redis 集群与压测分析
数据库·redis·云原生·openeuler
GTgiantech4 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技4 小时前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
言之。4 小时前
TiDB分布式数据库技术架构概述
数据库·分布式·tidb
万事大吉CC4 小时前
SQL表设计与约束教程
数据库·sql
员大头硬花生4 小时前
七、InnoDB引擎-架构-后台线程
java·数据库·mysql
Ryan ZX5 小时前
etcd 高可用分布式键值存储
数据库·分布式·etcd