Google App-Engine Java Group By和Count(*)查询

时间:2010-05-04 06:49:49

标签: java google-app-engine

我能够插入,过滤和订购记录,但不能使用简单的计数!! 我想知道是否有办法在表中得到总行数? 有没有办法在查询中使用GROUP BY?

2 个答案:

答案 0 :(得分:6)

您可以在管理界面或使用DatastoreService查看有关数据的统计信息,在那里您可以找到总行数(“实体类型”)。

无法使用GROUP BY,Google BigTable不支持此功能。见"Unsupported Features"

在使用此类存储空间之前,您需要了解NoSQL,了解其工作原理,以及无法group_byjoin等的原因。

答案 1 :(得分:1)

最简单的方法是使用游标迭代与查询匹配的所有记录并对其进行计数,但如果您有许多实体,这将给您带来很大的开销。 更聪明的方法是,如果你没有太复杂的过滤器来使用分片计数器来计算每个可能的过滤器的结果,如果过滤器中有太多选项,这也会让你头疼。 为什么如此重要的是要显示使我接触旧笑话的用户数量:

问:如何计算800万行? 答:为什么/谁需要知道有8M行?