如何产生既随机又不随机的数据

标题没有写错,的确有这样的需要,至少我碰到了。

首先描述一下我碰到的情况,我的笑话站(xiaohuayoumo.com)使用的是MySQL数据库。其中有一个表alljokes,记录了所有的笑话。我现在想实现的功能是,每天随机的选择出一部分笑话(比如说50个)。要做到这一点是非常容易的,最简单的方法就是“SELECT * from alljokes ORDER BY rand() LIMIT 50”。当然如果alljokes中的数据非常多的话,“ORDER BY rand()”的效率会比较低,网上有很多文章将到如何用其他方法来替代“ORDER BY rand()”。 Continue reading “如何产生既随机又不随机的数据”