通过设置数据分片提升性能 本节主要介绍通过设置数据分片提升性能 对于DDS集群实例,如果某个集合的存储量很高,建议对该集合设置数据分片。分片是将数据按照某种方式拆分,将其分散存放在不同的机器上,以充分利用各分片节点的存储空间 和 计算性能 。 设置数据分片 下面以数据库mytable,集合mycoll,字段“name”为分片键举例说明。 步骤 1 通过mongo shell登录分片集群实例。 步骤 2 判断集合是否已分片。 use db. .getShardDistribution() 示例: use mytable db.mycoll.getShardDistribution() 步骤 3 对集合所属的数据库启用分片功能。 方式一 sh.enableSharding("") 示例: sh.enableSharding("mytable") 方式二 use admin db.runCommand({enablesharding:" "}) 步骤 4 对集合进行分片。 方式一 sh.shardCollection(" . ",{" ": }) 示例: sh.shardCollection("mytable.mycoll",{"name":"hashed"},{numInitialChunks:5}) 方式二 use admin db.runCommand({shardcollection:" . ",key:{"keyname": }}) 表 参数说明 参数 说明 数据库名称。 集合名称。 分片键。集群实例将根据该值进行数据分片,请结合实际业务为集合选择合适的分片键,具体操作请参见下文选择合适的分片键。 基于分片键的范围查询的排序方式。l、 1:表示索引升序。 1:表示索引降序。 hashed:表示使用Hash分片,通常能将写入均衡分布到各个分片节点。 更多信息,请参见[sh.shardCollection()](