国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MongoDB > 正文

MongoDB中創(chuàng)建索引需要注意的事項(xiàng)

2020-10-29 18:52:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

上周在 ruby-china 上發(fā)了帖子《MongoDB 那些坑》,反映相當(dāng)熱烈,許多回復(fù)很有見(jiàn)地,其中一位童鞋深入的提到 MongoDB 建索引方法的問(wèn)題,引發(fā)我更深入的了解了 MongoDB 建索引的方法和一些注意事項(xiàng)。

在 《MongoDB 那些坑》中提到,在前臺(tái)直接運(yùn)行建立索引命令的話,將造成整個(gè)數(shù)據(jù)庫(kù)阻塞,因此索引建議使用 background 的方式建立。但是這也會(huì)帶來(lái)一定的問(wèn)題,在 2.6 版本之前,在 secondary server 中即使使用 background 方式建立索引,secondary 還是會(huì)以 foreground 方式建立索引,它導(dǎo)致 secondary 同樣引發(fā)數(shù)據(jù)庫(kù)阻塞問(wèn)題。2.6 版本修復(fù)了這個(gè) Bug,2.6 版之后使用 background 方式建立索引時(shí),真正轉(zhuǎn)向后臺(tái)運(yùn)行了。

為了盡量降低建立索引對(duì) MongoDB Server 的影響,有一種方法是把 MongoDB Server 轉(zhuǎn)換成 standalone 模式后建立。具體做法如下:

1.首先把 secondary server 停止,在取消 --replSet 參數(shù),并且更改 MongoDB port 之后重新啟動(dòng) MongoDB,這時(shí)候 MongoDB 將進(jìn)入 standalone 模式;

2.在 standalone 模式下運(yùn)行命令 ensureIndex 建立索引,建議使用 foreground 方式運(yùn)行;

3.建立索引完畢之后關(guān)閉 secondary server 按正常方式啟動(dòng);

4.根據(jù)上述 1~3 的步驟輪流為 secondary 建立索引,最后把 primary server 臨時(shí)轉(zhuǎn)換為 secondary server,同樣按 1~3 的方法建立索引,再把其轉(zhuǎn)換為 primary server。

這種方式還是比較麻煩的,但可以把建立索引操作對(duì) MongoDB 的影響降到最低,在有些情況下還是值得做的。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 白朗县| 双辽市| 潞城市| 东乡县| 永兴县| 易门县| 石阡县| 双城市| 桦甸市| 铁岭县| 天台县| 灵宝市| 滦平县| 城口县| 桓仁| 泸西县| 临桂县| 项城市| 甘谷县| 蓬莱市| 鹤庆县| 巍山| 运城市| 库尔勒市| 甘南县| 上杭县| 丹寨县| 阳江市| 孝感市| 巢湖市| 科技| 射洪县| 社旗县| 乌拉特后旗| 乌拉特前旗| 贡山| 景谷| 登封市| 新竹县| 金平| 岳阳市|