-1

实际上:

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

可能是更好的方法?

4

2 回答 2

1

关于性能,我会选择类似的东西:

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

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

于 2011-08-19T02:00:50.133 回答
0

当您在字段上过滤时,您的方式还不错。

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

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

如果要过滤给定字段,也可以仅使用 fetch 键:

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

但我想知道哪个是性能最好的。这取决于 GAE 数据存储在“计数”或“仅获取密钥”操作方面的性能。

于 2011-08-15T20:54:22.270 回答