当前位置: 首页 > 知识库问答 >
问题:

DynamoDB最有效的日期类型

邵麒
2023-03-14

我看到DynamoDB基本上被限制为三种数据类型:字符串、数字和二进制。这似乎为存储日期或时间戳留下了两种选择:

  • 8601日期/时间格式的字符串或Unix时间戳

我需要通过使用此日期/时间戳作为范围键并使用scanIndexForward来“排序”结果。是否可以说哪种方法更有效?

共有2个答案

米浩穰
2023-03-14

我刚刚在我的一个DynamoDB表上做了一个可描述的操作,注意到DynamoDB本身将表的CreationDateTime存储为UNIX时间戳浮点数。我想他们这样做是有原因的。

幸鸿轩
2023-03-14

我不知道它是否一定更有效,但我们已经成功地将Unix时间戳用作范围键。查询速度很快(延迟时间在20ms以下,有时在10ms以下),我们可以使用scanIndexForward标记对“最早到最晚”或“最晚到最早”进行排序。

缺点是,在查看原始表时,很难一目了然地比较两个时间戳,但很容易将时间戳转换为所选语言中的日期类型。

 类似资料:
  • 问题内容: 在MS SQL 2000和2005中,给定日期时间(例如‘2008-09-25 12:34:56’),获取仅包含‘2008-09-25’的日期时间的最有效方法是什么? 问题答案: 我必须承认,我以前从未见过Matt展示的下浮率转换。我不得不对此进行测试。 我测试了一个纯选择(它将返回日期和时间,而这不是我们想要的),这里是统治性解决方案(floor-float),这里提到了一个普通的“

  • 问题内容: 我很好奇,用Java 创建对象的最明显的方法已被弃用,并且似乎已被使用宽大日历的不太明显的方法“替代”。 如何检查以日,月和年的组合形式给出的日期是否为有效日期? 例如,2008-02-31(如yyyy-mm-dd)将是无效日期。 问题答案: 当前的方法是使用日历类。它具有setLenient方法,该方法将验证日期和引发异常,如果超出示例,则抛出异常。 忘记添加:如果您获得日历实例并使

  • 我有一个解析模板,它将从appsync查询中获取开始日期作为日期。但我在迪纳摩的约会是有日期时间戳的。我们如何在没有时间的情况下比较这两个日期。以下是我的解析器模板查询:

  • 问题内容: 我有一列以()格式保存。我需要验证如果该月在30天内结束,那么没有报告损失日期为31的损失。我有数百万条记录。帮助将不胜感激。 查询应返回最后一个无效记录,因为200806在30天内结束。 问题答案: 对于您的特定问题,以下内容将返回错误的行: 根据您的输入界面,您可能需要重复31个月的几个月,以显示大于31的值。 2月有点棘手。逐步开始,确定超过29天的所有2月条目,您可以立即删除/

  • 问题内容: 我正在针对从Excel文件导入的数据运行SQL语句。在此SQL中,我正在检查用户是否已使用IsDate函数正确输入了日期。由于这是尚未转换的原始数据,因此所有日期都存储在varchar数据类型字段中。 在某些情况下,如果用户输入的日期格式明显不正确,IsDate将返回1(有效日期)。 例如: 关于如何处理此问题的任何建议? 谢谢! ps Smacking用户没有帮助。 问题答案: 我做

  • 以下是场景: 我有一个日期和一个不同的日期格式。示例: 日期:2016-10-19 日期格式:“DD-MM-YYYY”。 我需要检查这个日期是否有效。 我尝试过跟踪事情 d.isValid()每次返回false。Moment.js解析给定格式的日期吗? 然后我尝试先在中格式化日期,然后将其传递给矩。js: 现在<代码>日期。isValid()给了我想要的结果,但现在是时候了。js日期对象创建两次。