mogo建立索引的时候,会不会容易引起长时间写锁的问题?



  • 如题,mogo建立索引的时候,会不会容易引起长时间写锁的问题?


  • Lv 1

    MongoDB 在前臺建索引時需要佔用一個寫鎖(而且不會臨時放棄),如果集合的資料量很大,建索引通常要花比較長時間,特別容易引起問題。

    解決的方法很簡單,MongoDB 提供了兩種建索引的訪問,一種是 background 方式,不需要長時間佔用寫鎖,另一種是非 background 方式,需要長時間佔用鎖。使用 background 方式就可以解決問題。 例如,為超大表 posts 建立索引, 千萬不用使用

    代碼如下:

    db.posts.ensureIndex({user_id: 1})

    而應該使用

    代碼如下:

    db.posts.ensureIndex({user_id: 1}, {background: 1})


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待