我希望尽可能高效并妥善规划。由于在使用 Google App Engine 时读取和写入成本很重要,因此我希望确保将这些成本降至最低。我不理解数据存储中的“关键”概念。我想知道的是,考虑到我知道它是什么,通过键来获取实体是否比通过某种过滤器获取更有效?
假设我有一个名为 User 的模型,并且一个用户有一个 commentId 数组(列表)。现在我想得到这个用户的所有评论。我有两个选择:
用户的commentId 数组是一个键数组,其中每个键是一个Comment 实体的键。因为我有所有的钥匙,我可以通过他们的钥匙来获取所有的评论。
用户的commentId 数组是我自定义的标识符,在这种情况下,我们只是说它们是自动递增的常规整数,并且数据存储中的每个评论都有一个唯一的commentIntegerId。因此,现在如果我想获取所有评论,我会根据我的 id 数组中的所有 ID 的评论进行过滤获取。
哪种实现会更有效,为什么?