通过Siena,了解GAE中是否存在实体的最佳方法是什么?

时间:2011-08-15 13:36:52

标签: siena

实际上:

return all()。filter(“name”,name).count()== 0;

可能是更好的方式吗?

2 个答案:

答案 0 :(得分:1)

关于表现,我会选择以下内容:

return all().filter("name", name).get() == null;

我不确定GAE,但在SQL中,限制1比计数快几倍,显然你不需要知道有多少模型有这个值。

答案 1 :(得分:0)

当你在一个字段上过滤时,你的方式也不错。

如果你知道实体的密钥,你可以使用:

return Model.getByKey(YourClass.class, id) == null

如果要对给定字段进行过滤,也可以仅使用提取键:

return all().filter("name", name).fetchKeys().size() == 0;

但我不知道哪个是性能最好的。它取决于GAE数据存储区关于“计数”或“仅提取键”操作的性能。