gpt4 book ai didi

database - 我如何从 FaunaDB 中选择一个随机实例?

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:55 25 4
gpt4 key购买 nike

FaunaDB 允许我按各个字段索引数据项,并通过索引分页,但我看不到选择随机项的方法。

最佳答案

在任何数据库中,大规模地选择随机项目都是困难的。根据您的要求,有两种主要技术可供选择。

  1. 为您的查询定义和使用索引。这使您可以完全控制行为,例如选择同一项目两次等。

  2. 搭载现有索引。这对于开发任务更有用,您只想查看随机记录,而不关心公平分配。

无论您选择哪个,您最终都会想要 FaunaDB index documentation .对于选项 2,此 Activity feed tutorial包含大量索引事件查询示例。

随机索引

在每个包含随机数的实例上维护一个字段,并将其用作索引值。然后将值分页到随机开始键。此方法允许通过随机过程多次选择同一项目。

通过添加一个整数字段来计算实例被选取的次数,可以扩展它以获得更多控制。您可以在选择实例的同一事务中增加计数。通过使用选择计数作为索引项,您可以查询被选择为零次的随机项目。一旦您选择了所有项目一次,您可以重复 1 术语以开始选择已选择一次但未选择两次的项目。

现有索引

FaunaDB 中的数据是时态的,因此您可以使用时态特征以足够随机的方式选择实例,具体取决于您的用例。

如果你想利用你已经拥有的索引,并且实际上并不关心公平随机性,而只是想要一种廉价的方式来检查数据集中的不同实例,你可以在期间从随机时间戳分页您的应用程序的生命周期,使用事件 View ,并在您的类中采样不同的实例。

使用无术语类索引,您将从整个类中选择实例,但它也可以用于在带术语的索引的单个术语中选择实例。

如果您的写入事件在某些时间段(最近的过去,对于快速增长的服务)有很大的平衡,您可能希望将合成游标偏向较重的时间段。

关于database - 我如何从 FaunaDB 中选择一个随机实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43725645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com