使用GAE数据存储区,以下哪个选项效果最佳? (假设memcache不可用)
选项1: DataModel:实体用户有一些密钥和一个电子邮件地址(该电子邮件不能用作密钥)
a)对通过电子邮件过滤匹配的用户执行查询
或选项2:
DataModel:实体用户有一些密钥,实体UserLogin有电子邮件地址作为密钥,用户密钥
a)执行上传UserLogin,然后执行 b)使用UserLogin中的用户密钥
执行get on User答案 0 :(得分:4)
获取操作比查询快得多,更不用说执行起来更便宜了。两个get操作的序列可能比单个查询更快。例如,在状态仪表板上,get operation在10毫秒左右徘徊,而query operation在80毫秒左右徘徊 - 但如果这对您很重要,我会鼓励您对两者进行基准测试并验证自己。
答案 1 :(得分:1)
我相信选项1会更快,因为在选项2中你执行一个操作,得到结果,然后才执行第二个操作。
然而,差异可以忽略不计,除非你每天至少做几百万次。