1. 程式人生 > >MongoDB加索引導致鎖庫的問題記錄

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()