2
我有一个mysql查询返回一个110,000,000表的20个结果。我想在使用php回显它们之前将它们洗牌。php mysql shuffle输出速度
它是更快地使用
ORDER RAND()
或
洗牌在php莫名其妙的阵列?
我有一个mysql查询返回一个110,000,000表的20个结果。我想在使用php回显它们之前将它们洗牌。php mysql shuffle输出速度
它是更快地使用
ORDER RAND()
或
洗牌在php莫名其妙的阵列?
根据您从MySQL撤回的结果数量,ORDER BY RAND()
会更快。
如果你只是像你说的那样返回20,那么性能差异可以忽略不计。
你总是可以测试一下,看看哪个更适合你,用PHP打乱一个数组,你可以使用shuffle()
。
试试看看:http://php.net/microtime#example-629 – Treffynnon 2011-04-11 16:33:31
你想洗牌所有1100万个结果,并从1100万组中选择20个随机结果,或者你想选择一个可预测的20个结果的集合,然后洗牌? – 2011-04-11 16:34:51
@Frank:选择一个可预测的20然后洗牌。 – David19801 2011-04-11 16:37:00