例如,我有1000个用户。每个用户的数据不大,最大为1GB。因此,我有2种索引策略。
user_id
。我认为第二种方法要快得多,因为我们不需要在查询中添加user_id
。第一种方法可能会比较慢,因为它将使用许多分片,并且同时必须将user_id
计入查询。
但是,他们建议建议将某些ref1 ref2的碎片总数保持相对较小。
在实际环境中,什么是适合我的情况的好的解决方案?
为每个用户创建一个索引非常浪费资源,尤其是当您有1000多个用户时。如果您的应用程序成功并且您的用户群不断扩大,那么索引计数和分片数量也会随之增加。即使每个索引只有一个分片,但是拥有1000个分片已经占用了大量的资源。
具有单个索引并用user_id
字段将所有用户扔进其中,以区分每个用户的数据,效率要高得多。