从mnesia中选择随机记录

Tra*_*ebb 3 database erlang mnesia

我有一个mnesia表t,其中包含具有单个字段的记录x.如何选择一个随机值xt

为了避免数学迂腐的整个过程:我不关心随机数生成的细节,我只是希望我的结果一般不会每次都相同.

谢谢,
-tjw

use*_*720 5

不是很有效但会奏效:

  1. 生成随机整数X.
  2. 得到桌子大小
  3. 使用mnesia获取指针:首先
  4. 迭代X次到随机记录
  5. 查找记录

更复杂:

  1. 创建包含整数的额外字段
  2. 整数在设置时递增
  3. 在额外字段上创建索引
  4. 随机数X.
  5. 脏读取索引行,X作为键

多一个:

  1. 使用int作为主键
  2. 随机的
  3. 检索行

每个解决方案都有重要的错误:并发写入性能,读取开销等.