Php “再生”;“随机”;MySQL查询

Php “再生”;“随机”;MySQL查询,php,mysql,sql,random,Php,Mysql,Sql,Random,我有一个超过一百万条记录的数据库。我正试图以随机顺序获取记录。数据库中充满了指向图像的链接,每个图像都有一个唯一的编号。所以我应该能够为图片上的下一个和上一个按钮重新创建相同的“随机”顺序 有没有办法提出一个查询并将其保存在cookie或会话中,然后重新使用它来重新生成我的随机顺序? 总的来说,它是否因为我不想让加载时间变长而有效 任何建议都非常棒。根据MySQL手册页面,您可以为函数指定参数,因此它将返回随机但可重复的序列: 如果指定了常量整型参数N,则将其用作种子 值,它生成列值的可重复序列

我有一个超过一百万条记录的数据库。我正试图以随机顺序获取记录。数据库中充满了指向图像的链接,每个图像都有一个唯一的编号。所以我应该能够为图片上的下一个和上一个按钮重新创建相同的“随机”顺序

有没有办法提出一个查询并将其保存在cookie或会话中,然后重新使用它来重新生成我的随机顺序?
总的来说,它是否因为我不想让加载时间变长而有效


任何建议都非常棒。

根据MySQL手册页面,您可以为函数指定参数,因此它将返回随机但可重复的序列:

如果指定了常量整型参数N,则将其用作种子 值,它生成列值的可重复序列


这意味着,您可以使用随机顺序,但在上一页和下一页中的顺序仍然相同。

根据MySQL手册页面,您可以为函数指定参数,因此它将返回随机但可重复的顺序:

如果指定了常量整型参数N,则将其用作种子 值,它生成列值的可重复序列


这意味着,您可以使用随机顺序,但在上一页和下一页中的顺序仍然相同。

最简单的方法是,在数据库中放入另一列,对其进行适当索引,并为其指定一个随机整数。然后你可以在这张桌子上点餐,并让它保持稳定。这将使所有用户具有相同但随机的序列

编辑:如果您希望每个用户都有自己的序列,这也很简单,正如Alma Do所说:

SELECT * FROM records ORDER BY RAND(17)
将始终具有相同的顺序(只要不更改数据库),并且与

SELECT * FROM records ORDER BY RAND(2308)
但不会很快


我能想到的唯一替代方法是使用大量空间:当为用户计算序列时,将其存储在表中。这将需要一个每个用户有百万行的两列表。

最简单的方法是,在数据库中放入另一列,对其进行适当的索引,并给它一个随机整数。然后你可以在这张桌子上点餐,并让它保持稳定。这将使所有用户具有相同但随机的序列

编辑:如果您希望每个用户都有自己的序列,这也很简单,正如Alma Do所说:

SELECT * FROM records ORDER BY RAND(17)
将始终具有相同的顺序(只要不更改数据库),并且与

SELECT * FROM records ORDER BY RAND(2308)
但不会很快


我能想到的唯一替代方法是使用大量空间:当为用户计算序列时,将其存储在表中。这将需要一个两列表,每个用户有一百万行。

在上一次、下一次操作之后,是否需要恢复“随机”映像?您是否需要为每个用户随机分配?有可能有重复的吗?您需要真正的随机顺序还是不寻常的顺序?您还可以对SQL查询的结果数组使用
shuffle()
@sectus,以下是问题的答案:1)我只想按照画廊上显示的顺序浏览它们2)不,可能是相同的,但我想更改顺序他们点击“再次洗牌”时的所有内容3)没有重复4)不寻常的顺序perfect@DarkAshelin,洗牌是完美的,但如何在其他页面中重新创建相同的顺序?@FarshadMomtaz将最终结果数组保存在全局变量中。在上一次、下一次操作后,是否需要恢复“随机”图像?您是否需要为每个用户随机分配?有可能有重复的吗?您需要真正的随机顺序还是不寻常的顺序?您还可以对SQL查询的结果数组使用
shuffle()
@sectus,以下是问题的答案:1)我只想按照画廊上显示的顺序浏览它们2)不,可能是相同的,但我想更改顺序他们点击“再次洗牌”时的所有内容3)没有重复4)不寻常的顺序perfect@DarkAshelin,Shuffle是完美的,但你如何在其他页面中重新创建相同的顺序?@FarshadMomtaz将最终结果数组保存在一个全局变量中。这会起作用,但每个用户都有相同的顺序,并且不能在每次用户单击“Shuffle”时更改顺序,这不是你问题的一部分,我们也不是心灵感应者。编辑。这会起作用,但每个用户都有相同的顺序,并且不能每次用户点击“洗牌”时更改顺序,这不是你问题的一部分,我们也不是心灵感应者。Edited.Rand()工作得很好,但是当你有100万条记录要处理时,它的速度真的很慢!Rand()工作得非常好,但是当你有100万条记录要处理时,它真的很慢!