猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
从MySQL中的大表中快速选择随机行
从MySQL中的大表中快速选择随机行
从大型MySQL表中选择随机行的快速方法是什么?
我正在使用php,但我对任何解决方案都感兴趣,即使它是用另一种语言。
慕桂英3389331
浏览 721
回答 3
3回答
慕的地6264312
MediaWiki使用了一个有趣的技巧(针对Wikipedia的特殊:随机特性):带有文章的表有一个带有随机数的额外列(在创建文章时生成)。要获得一篇随机文章,生成一个随机数,并在随机数列中得到下一个更大或更小(不记得是哪个)值的项目。有了索引,这是非常快的。(MediaWiki是用PHP编写的,是为MySQL开发的。)如果结果数字分布不好,这种方法可能会导致问题;IIRC,这已经固定在MediaWiki上了,所以如果您决定这样做,您应该查看代码,看看它是如何完成的(可能它们会周期性地重新生成随机数列)。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
MySQL
SQL Server
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续