【问题标题】:Google App Engine Datastore reference or not?Google App Engine Datastore 参考与否?
【发布时间】:2009-11-18 18:43:48
【问题描述】:
我正在用来自不同国家/地区的文本项填满一个大表。我的问题是:
我应该使用referencePropery 链接到另一个表中的语言(这就是我在普通MySQL 关系数据库中这样做的方式) 还是只是冗余并为表中的每个文本指定语言?
什么更好:
冗余和存储使用的增加
或
更多查询和更多 CPU 使用率
当我的数据库完成后,我需要查询数据库以获取包含来自每个国家/地区的文本项的不同列表。
【问题讨论】:
标签:
database
google-app-engine
google-cloud-datastore
referenceproperty
【解决方案1】:
如果您使用引用属性,如果您只想查找某种语言的文本项,则应该没问题。存储文本项时,引用属性将存储为语言对象的键。然后,您将能够编写查询“给我所有语言属性与此键匹配的语言。
您无法做的是编写一个查询来连接两个“表”并根据您的语言实体的某些属性查找项目。例如,如果您的语言实体有一个名为Alphabet 的属性,您将无法找到所有语言为拉丁字母的文本项。您需要分两步完成 - 首先找到所有具有拉丁字母表的语言的键,然后找到所有具有这些键之一作为其语言属性的文本项。