问题描述
假设我的MySQL数据库中的某张表有超过上百万行,那么如何**高效**、**准确**地**随机取得**其中的1000行呢?
注意
- 我的数据表中没有类似于‘ID’这样的字段,因此网上常见的依据最大ID生成随机数的方法无法直接使用。而且数据表也不允许增加新的内容。
- order by rand()的方法就不必说明了。
假设我的MySQL数据库中的某张表有超过上百万行,那么如何**高效**、**准确**地**随机取得**其中的1000行呢?
写一个存储过程,用循环和随机数函数生成1000个行号然后:
select * from table limit line_num, 1;