Google app engine 谷歌应用引擎Objectify查询大对象与分离对象(头部和身体)

Google app engine 谷歌应用引擎Objectify查询大对象与分离对象(头部和身体),google-app-engine,google-cloud-datastore,objectify,Google App Engine,Google Cloud Datastore,Objectify,我有一个实体对象(种类),用于存储用户“广告”中的所有信息。它包括照片钥匙、联系方式等。 但我只需要从所有这些中获得很少的东西来查询对象 将Google应用程序引擎(Java)与Objectify一起使用 我的问题是。 仅将实体对象用于查询(“head”-带有标题、价格、城市)和另一个实体对象用于所有额外的未索引细节是否更强大? 或者将所有这些都放在一个实体对象中,只将其他属性标记为未索引,这样可以吗?将相同类型的详细信息放在一起就可以了,这样您就不需要额外访问数据存储了。正如您所指出的,最好将

我有一个实体对象(种类),用于存储用户“广告”中的所有信息。它包括照片钥匙、联系方式等。 但我只需要从所有这些中获得很少的东西来查询对象

将Google应用程序引擎(Java)与Objectify一起使用

我的问题是。 仅将实体对象用于查询(“head”-带有标题、价格、城市)和另一个实体对象用于所有额外的未索引细节是否更强大?
或者将所有这些都放在一个实体对象中,只将其他属性标记为未索引,这样可以吗?

将相同类型的详细信息放在一起就可以了,这样您就不需要额外访问数据存储了。正如您所指出的,最好将不需要查询或排序的任何属性标记为未索引,因为这样可以提高写入性能并减少存储空间


你可能会发现关于这个问题的文章很有用。它们解释了有关实体和索引如何构建和存储的更多细节。

将这些细节放在同一类上是很好的,这样可以避免您需要额外访问数据存储。正如您所指出的,最好将不需要查询或排序的任何属性标记为未索引,因为这样可以提高写入性能并减少存储空间


你可能会发现关于这个问题的文章很有用。它们解释了有关实体和索引如何构建和存储的更多细节。

非常感谢。所以,即使我的网站是“类似易趣”的,我也应该使用一个实体对象来存储所有广告信息?我可以在没有额外性能(和流量)负载的情况下通过它进行查询?广告的详细信息将在单击广告头后加载,因此我以前确实不需要它们。@kovalu如果您将信息显示在一起,我会将其保存在一起--这样会更有效率(因为您需要较少的数据存储访问次数)。如果不需要一起显示信息,可以将实体分开。你可能还想为你的应用程序做一个简单的基准测试,但人们通常会发现加载“小”实体和“大”实体之间的性能差异可以忽略不计。好的,再次感谢。在所有广告的列表中(用户会像在易趣上一样搜索),只有标题信息。如果他们点击广告标题,我需要广告正文中的其余信息。很多信息是共享的,所以关于广告的细节,我也需要广告负责人的信息。我目前的解决办法是将它们分开,巴德在广告的细节上我查询它们,以从头部和身体获得所有信息。@kovalu听起来你可能想把它们结合起来。或者至少对其进行基准测试,您可能会在详细信息显示上看到相对较大的节省,并且显示列表的成本只会略有增加(如果有)。非常感谢。所以,即使我的网站是“类似易趣”的,我也应该使用一个实体对象来存储所有广告信息?我可以在没有额外性能(和流量)负载的情况下通过它进行查询?广告的详细信息将在单击广告头后加载,因此我以前确实不需要它们。@kovalu如果您将信息显示在一起,我会将其保存在一起--这样会更有效率(因为您需要较少的数据存储访问次数)。如果不需要一起显示信息,可以将实体分开。你可能还想为你的应用程序做一个简单的基准测试,但人们通常会发现加载“小”实体和“大”实体之间的性能差异可以忽略不计。好的,再次感谢。在所有广告的列表中(用户会像在易趣上一样搜索),只有标题信息。如果他们点击广告标题,我需要广告正文中的其余信息。很多信息是共享的,所以关于广告的细节,我也需要广告负责人的信息。我目前的解决办法是将它们分开,巴德在广告的细节上我查询它们,以从头部和身体获得所有信息。@kovalu听起来你可能想把它们结合起来。或者至少对其进行基准测试,您可能会在细节显示上看到相对较大的节省,并且显示列表的成本只会略有增加(如果有的话)。