从mnesia中选择随机记录
我有一个 mnesia 表 t
,其中包含具有单个字段 x
的记录。如何从t
中选择一个随机值x
?
为了避免整个数学迂腐的过程:我不关心随机数生成的细节,我只是希望我的结果每次都不相同。
谢谢,
-tjw
I have an mnesia table t
that contains records with a single field x
. How can I select a random value x
from t
?
To avoid the entire of process of mathematical pedantry: I don't care about the details of the random number generation, I just want my result to generally not be the same every time.
Thanks,
-tjw
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
效率不高,但可以工作:
更复杂:
还有一个:
这些解决方案中的每一个都有重要的缺点:并发写入性能、读取开销等。
not really efficient but will work:
more sophisticated:
one more:
Each of those solution has important faults: concurrent write performance, read overhead etc.
通过使用
mnesia:all_keys/1
(或 dirty 等价物)函数和random
模块。不要忘记使用
random:seed/3
初始化您的种子。By using the
mnesia:all_keys/1
(or dirty equivalent) function and therandom
module.Don't forget to initialize your seed using
random:seed/3
.