重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
建索引就是一個(gè)容易引起長(zhǎng)時(shí)間寫鎖的問題,MongoDB在前臺(tái)建索引時(shí)需要占用一個(gè)寫鎖(而且不會(huì)臨時(shí)放棄),如果集合的數(shù)據(jù)量很大,建索引通常要花比較長(zhǎng)時(shí)間,特別容易引起問題。
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),新榮網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:新榮等地區(qū)。新榮做網(wǎng)站價(jià)格咨詢:18982081108
解決的方法很簡(jiǎn)單,MongoDB提供了兩種建索引的訪問,一種是 background方式,不需要長(zhǎng)時(shí)間占用寫鎖,另一種是非 background方式,
需要長(zhǎng)時(shí)間占用鎖。使用background方式就可以解決問題。
例如,為超大表 posts建立索引,
千萬不用使用
db.posts.ensureIndex({user_id: 1})
而應(yīng)該使用
db.posts.ensureIndex({user_id: 1},{background: 1})