现在有1500万条数据,想从中随机抽取50万条,采用什么方式比较快捷?

现在有1500万条数据,想从中随机抽取50万条,采用什么方式比较快捷。数据是存储在mysql里的。

额,试试随机生成Where条件来做

SELECT * FROM table_name ORDER BY RAND() limit 500000

随机获取索引,limit 会连续取值,不会随机

随机获取索引,limit 会连续取值,不会随机

ORDER BY RAND() 比较慢

http://jan.kneschke.de/projects/mysql/order-by-rand/

如果你表里面有个数值型的递增的唯一主键a从1开始,table有俩字段a,b;
select tt.a,tt.b
from (select a, b from table) tt
where tt.a in
(select FLOOR(1 + RAND() * 15000000)
from dual
connect by limit 500000);
如果没有这样的主键,就row_number()下再用上面的方法
由于没有装mysql,上面的代码可能要调试下,希望这个思想能帮助你