时间:2021-05-24
上周在 ruby-china 上发了帖子《MongoDB 那些坑》,反映相当热烈,许多回复很有见地,其中一位童鞋深入的提到 MongoDB 建索引方法的问题,引发我更深入的了解了 MongoDB 建索引的方法和一些注意事项。
在 《MongoDB 那些坑》中提到,在前台直接运行建立索引命令的话,将造成整个数据库阻塞,因此索引建议使用 background 的方式建立。但是这也会带来一定的问题,在 2.6 版本之前,在 secondary server 中即使使用 background 方式建立索引,secondary 还是会以 foreground 方式建立索引,它导致 secondary 同样引发数据库阻塞问题。2.6 版本修复了这个 Bug,2.6 版之后使用 background 方式建立索引时,真正转向后台运行了。
为了尽量降低建立索引对 MongoDB Server 的影响,有一种方法是把 MongoDB Server 转换成 standalone 模式后建立。具体做法如下:
1.首先把 secondary server 停止,在取消 --replSet 参数,并且更改 MongoDB port 之后重新启动 MongoDB,这时候 MongoDB 将进入 standalone 模式;
2.在 standalone 模式下运行命令 ensureIndex 建立索引,建议使用 foreground 方式运行;
3.建立索引完毕之后关闭 secondary server 按正常方式启动;
4.根据上述 1~3 的步骤轮流为 secondary 建立索引,最后把 primary server 临时转换为 secondary server,同样按 1~3 的方法建立索引,再把其转换为 primary server。
这种方式还是比较麻烦的,但可以把建立索引操作对 MongoDB 的影响降到最低,在有些情况下还是值得做的。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
网站建设过程中,企业网站设计、需要严谨的思考和周全的计划。我们在网站建设中需要注意的事项那些事项呢?,新概念网络科技为您解答。http://网站导航原则尽量创建
创建表需要链接外键时,需要注意的事项。classBook(models.Model):name=models.CharField(max_length=20)p
创建网页内容需要注意事项如下: 1、创建网页内容一定要懂得广告学思维。 在创建网页内容过程中一定要注意的就是根据不同用户体验需求为其提供更为合适的信息,这样
我们在使用MongoDB的时候,会出现需要给一个已经存在的大集合的某个字段增加索引的情况。索引分为前台索引和后台索引,对应到pymongo中创建索引的代码:?1
商城网站建设中容易出现哪些错误,商城网站建设的注意事项。商城网站建设也不简单,需要注意很多事项,才会避免各种错误漏洞。今天小编和大家介绍一下这些错误事项。(