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 小时前
Redis分布式锁进第九零篇
数据库·redis·分布式
haven-8521 小时前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
小高学习java1 小时前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
葡萄皮sandy2 小时前
NestJS + Mongoose 全栈开发面试总结
mongodb·面试
迷枫7122 小时前
【无标题】
数据库
TDengine (老段)2 小时前
TDengine 扫描算子 — TableScan、TagScan 与下推优化
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
放下华子我只抽RuiKe52 小时前
FastAPI 全栈后端(三):数据库与 ORM
前端·数据库·react.js·oracle·性能优化·前端框架·fastapi
BAGAE3 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
zh_xuan3 小时前
Android导出并查看数据库
数据库·sqlite
小短腿的代码世界3 小时前
Qt定时器高精度架构:从QTimer源码到纳秒级定时调度
数据库·qt·架构