我有一个包含超过500k行的庞大数据库,我想选择按时间戳排序的前1000个ID然后随机播放结果。 Php shuffle()
以某种方式记忆昂贵或缓慢。我想在MySQL数据库中尝试一下。可能吗?有哪些替代方案?我还实现了一个限制和偏移来实现分页,所以我想做的是用简短的单词来获取页面并随机播放结果。
我如何在SQL中实现,或者实际上我喜欢使用Codeigniters活动记录。
ID, | timestamp, | data...
--------------------------
0 | 2014-00-.. | some data..
1 | 1987-00-.. | .
. | 2004-00-.. | .
. | 1546-00-.. | .
答案 0 :(得分:2)
SELECT * FROM (
SELECT * FROM table ORDER BY timestamp LIMIT 1000
) as a ORDER BY RAND()