GQL随机记录

时间:2010-12-04 03:08:44

标签: google-app-engine random gql

  

可能重复:
  Fetching a random record from the Google App Engine Datastore?

如何使用GQL有效地选择随机数据库记录?

EG。我有一个报价模型,我需要每次都选择一个随机引用。问题在于我的理解是,无法保证在生产服务器中每次插入时都会自动增加ID属性。

1 个答案:

答案 0 :(得分:4)

自动生成的ID保证是唯一的,但不是顺序的或严格增加的。

already以及群组中有many questions stackoverflow

有几种常见的解决方案:

  • 生成并存储随机数 在您创建实体时, 然后挑一个随机数看看 (通过查询)壁橱 记录下来。
  • 实施一些 确保您的实体ID的机制 是“密集”填充,然后获取 在使用键的已知范围内。
  • 定期生成随机列表 来自的实体和退货实体 那些清单。这可能采取的形式 弹出实体的堆栈 离开,或作为实际列表 返回。

想要做的是选择随机偏移。偏移效率非常低,因为数据存储仍然必须扫描所有跳过的实体。