为了账号安全,请及时绑定邮箱和手机立即绑定

从MySQL中的大表中快速选择随机行

从MySQL中的大表中快速选择随机行

慕桂英3389331 2019-07-02 10:46:49
从MySQL中的大表中快速选择随机行从大型MySQL表中选择随机行的快速方法是什么?我正在使用php,但我对任何解决方案都感兴趣,即使它是用另一种语言。
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

MediaWiki使用了一个有趣的技巧(针对Wikipedia的特殊:随机特性):带有文章的表有一个带有随机数的额外列(在创建文章时生成)。要获得一篇随机文章,生成一个随机数,并在随机数列中得到下一个更大或更小(不记得是哪个)值的项目。有了索引,这是非常快的。(MediaWiki是用PHP编写的,是为MySQL开发的。)

如果结果数字分布不好,这种方法可能会导致问题;IIRC,这已经固定在MediaWiki上了,所以如果您决定这样做,您应该查看代码,看看它是如何完成的(可能它们会周期性地重新生成随机数列)。


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 720 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信