随机打乱 mysql 表的数据
对于大型数据集,对表中的数据进行按插入顺序排序非常低效。如果您希望重新排列表中的数据以便随机排序,可以使用以下方法:
方法 1:子查询
select * from test1 as u inner join (select id from test1 where totalscore between 5 and 100 order by rand() limit 100) as t on t.id=u.id where 1
登录后复制
方法 2:常规写法
SELECT * FROM student WHERE totalScore BETWEEN 5 AND 100 ORDER BY RAND() LIMIT 100;
登录后复制
方法 1 使用子查询来从表中选择一个随机排序的 id 列表,然后将其与主表进行联接。这种方法性能更好。
方法 2 是 mysql 的常规写法。虽然它更容易理解,但当数据集较大时性能会下降。
请注意,rand() 函数会生成一个伪随机数,因此结果不会真正随机。如果需要真正的随机性,可以使用诸如 uuid 之类的值。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容