1

使用 GAE 数据存储,以下哪个选项的性能最好?(假设 memcache 不可用)

选项1:数据模型:实体用户有一些密钥,和一个电子邮件地址(电子邮件不能用作密钥)

a) 对通过电子邮件过滤匹配的用户执行查询

或选项 2:

DataModel:实体用户有一些密钥,实体用户登录有电子邮件地址作为密钥,用户密钥

a) 对 UserLogin 执行 get,然后
b) 使用 UserLogin 中的用户密钥对 User 执行 get

4

2 回答 2

4

获取操作比查询快得多,更不用说执行成本更低了。两个 get 操作的顺序可能比单个查询更快。例如,在状态仪表板上,get 操作悬停在 10 毫秒左右,而查询操作悬停在 80 毫秒左右 - 但如果这对您很重要,我鼓励您对两者进行基准测试并自己验证。

于 2012-11-08T10:12:58.927 回答
1

我相信选项 1 会更快,因为在选项 2 中您执行一个操作,得到结果,然后才执行第二个操作。

但是,差异可以忽略不计,除非您每天至少进行几百万次。

于 2012-11-08T05:10:37.903 回答