说我有一个功能:
功能分类器(a,b)
它有一个规则来定义行值a是否比行值b“更大”(如果a> b则返回1;如果行值a小于行值b,则返回-1。
我可以通过此功能对结果进行排序吗?
一个例子可能是“log”数学函数函数(坏例子,因为它是单调递增),a和b是正整数。
我能想到的唯一方法就是简单地获取与我的查询匹配的所有行,然后逐个循环遍历它们并使用我的排序函数对它们进行排序。数据集已返回>在我的示例查询中有30k行,我估计在最坏的情况下可以返回多达100k行。所以我不想循环结果(这是一个Web应用程序,需要实时响应)。
编辑:我应该补充一点,分拣机功能是时间相关的,并具有随时间变化值的变量。因此,预计算不是一种选择。
答案 0 :(得分:2)
查询DynamoDB时,记录将按范围键排序,您可以决定按升序或降序排序。无法使用DynamoDB指定任何其他排序顺序。
您的应用程序代码需要通过任何其他方法对记录进行排序。