MongoDB加索引导致锁库的问题记录

1、问题描述

执行以下语句时,导致其他对MongoDB的请求无法被相应,线上应用程序报错。

db.getCollection('***').ensureIndex({key:1}) 

2、原因分析

MongoDB建索引时,默认前台操作,原因是为了尽可能快的创建索引,在此过程中会阻塞其他对数据库的IO操作。可以通过设置background=true使其后台运行,单独起一个线程执行相关操作。

3、解决方案

执行一下语句,后台建立索引。

db.getCollection('***').ensureIndex({key:1},{background: true})

4、其他

  • 查看已经添加的索引
db.getCollection('***').getIndexes()

猜你喜欢

转载自blog.csdn.net/jinyidong/article/details/82460642
今日推荐