如何获取数据存储中表的行数?
在许多情况下,使用 Google Application Engine 了解数据存储中表(一种)的行数可能很有用。
没有明确且快速的解决方案。至少我还没有找到..你找到了吗?
In many cases, it could be useful to know the number of rows in a table (a kind) in a datastore using Google Application Engine.
There is not clear and fast solution . At least I have not found one.. Have you?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 数据存储统计。简单示例:
您可以找到有关如何获取最新统计信息的更详细示例 此处(GAE 可能会保留统计数据的多份副本 - 一份为 5 分钟前,一份为 30 分钟前,等等)。
请注意,这些统计数据不会不断更新,因此它们稍微落后于实际计数。如果您确实需要实际计数,那么您可以在自己的自定义统计表中跟踪计数,并在每次创建/删除实体时更新它(尽管这样做的成本会相当高)。
2015 年 3 月 8 日更新:使用数据存储统计信息可能会导致结果过时。如果这不是一个选择,另外两种方法是保留计数器或分片计数器。 (您可以在此处阅读有关这些内容的更多信息)。仅当您需要实时结果时才查看这两个。
You can efficiently get a count of all entities of a particular kind (i.e., number of rows in a table) using the Datastore Statistics. Simple example:
You can find a more detailed example of how to get the latest stats here (GAE may keep multiple copies of the stats - one for 5min ago, one for 30min ago, etc.).
Note that these statistics aren't constantly updated so they lag a little behind the actual counts. If you really need the actual count, then you could track counts in your own custom stats table and update it every time you create/delete an entity (though this will be quite a bit more expensive to do).
Update 03-08-2015: Using the Datastore Statistics can lead to stale results. If that's not an option, another two methods are keeping a counter or sharding counters. (You can read more about those here). Only look at these 2 if you need real-time results.
App Engine 中没有“选择计数(*)”的概念。您需要执行以下操作之一:
There's no concept of "Select count(*)" in App Engine. You'll need to do one of the following:
你可以数一下没有。使用 com.google.appengine.api.datastore.Query 的 Google App Engine 中的行数如下:
You can count no. of rows in Google App Engine using com.google.appengine.api.datastore.Query as follow: