面试题答案
一键面试操作流程
- 连接到副本集:使用
mongo
命令连接到副本集的主节点。例如:mongo <主节点地址:端口>
。 - 选择数据库和集合:使用
use
命令选择要操作的数据库,然后使用db.<集合名>
选择具体的集合。 - 创建索引:使用
createIndex
方法创建索引。例如,创建单字段索引:db.<集合名>.createIndex({<字段名>: 1})
;创建复合索引:db.<集合名>.createIndex({<字段1名>: 1, <字段2名>: -1})
。
注意事项
- 选择合适的时机:尽量选择业务低峰期创建索引,以减少对业务的影响。
- 在主节点操作:索引创建操作应该在主节点上执行,因为主节点会将索引创建的操作同步到从节点。
- 使用后台创建:在
createIndex
方法中设置background: true
,这样索引创建会在后台进行,不会阻塞其他数据库操作。例如:db.<集合名>.createIndex({<字段名>: 1}, {background: true})
。 - 监控操作进度:可以使用
db.currentOp()
命令监控索引创建的进度,确保操作正常进行。 - 考虑索引数量和复杂度:避免创建过多或过于复杂的索引,因为这会增加磁盘空间占用和写入操作的开销,影响副本集性能。