由于分片数据库使用分片键来拆分块和路由查询,所以我认为更多的分片键可能有助于使更多的查询更有针对性
我试过像这样指定多个键
db.runCommand( { shardcollection : "test.users" , key : {_id:1, email : 1 ,address:1}
但我不知道它是否有效以及这样做的缺点是什么
最佳答案
这里要明确一点,你只能有一个分片键。所以你不能有多个分片键。
但是,您建议使用 compound index作为片键。这是可以做到的,但有一些限制。
例如_id
、email
和address
的组合必须是唯一的。
choosing a shard key 的文档.还有几个我不能在这里列出的注意事项。请参阅该文档。
关于mongodb - 多个分片键是否有助于提高 mongodb 的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5648466/