谷歌应用引擎 GQL,如何以毫秒精度使用日期时间进行分页

Posted

技术标签:

【中文标题】谷歌应用引擎 GQL,如何以毫秒精度使用日期时间进行分页【英文标题】:google app engine GQL, How to do pagination with datetime with millisecond accuracy 【发布时间】:2011-05-18 11:23:38 【问题描述】:

您好,我在从 GQL 查询亚秒级精度查询时遇到问题。想知道是否有人遇到类似问题或解决方法。

问题的背景是我一次将许多对象批量加载到谷歌数据存储中。因此,可以在一秒钟内添加数千个对象。

在检索时,当我想根据添加它们的日期时间进行分页时,我遇到了分页问题。 (最后添加的时间非常适合分页,因为它允许用户仅获取他们没有的数据。)

由于实体批次是在亚秒内添加的。如果我需要在同一秒内插入一批实体开始分页,分页就会出现问题。

即使我尝试传入包含分数的日期时间对象,应用引擎一体机解决方案似乎也无法处理亚秒级查询。 即我有以下查询,其中我传入了一个秒的小数部分的日期时间对象。在本地,我正在运行 python 2.6。

test = GqlQuery("select * from table where lastupdated > :1", minimumTime)

如果 minimumTime 类似于 10:00:00.0500,则结果集仍可能包含 lastUpdated 在 10:00:00.0100、10:00:00.0200 等的记录。

我在想也许解决方法是创建我自己的密钥格式,它需要自动递增。但只是想看看我是否缺少其他更简单的解决方案。

谢谢, 宁

【问题讨论】:

您正在使用带有日期时间字段的分页? 【参考方案1】:

不要在 DateTime 上分页;请改用cursors。

【讨论】:

以上是关于谷歌应用引擎 GQL,如何以毫秒精度使用日期时间进行分页的主要内容,如果未能解决你的问题,请参考以下文章

使用 NLog 事件上下文布局渲染器以毫秒精度记录日期时间

Spring Boot JPA Hibernate - 以毫秒精度存储日期

Spring Boot,在 REST 响应中将日期时间精度定义为毫秒

如何在 GQL 中查询过去 6 小时(日期时间)的所有条目?

如何以毫秒精度比较两次?

我想知道谷歌搜索引擎如何立即挑选结果