找到了。。
抓取随机的数据段,也就是说数据是连续的,至少数据库中的id号是连续的。
优点:抓取速度快。
缺点:分散度比较低。
网上其他人测试的结果是:8千条记录的表抓取5条,执行一次需要0.02 sec。
但是只有4.1.*以上版本才支持这样的查询。
我的测试结果是:56W条记录的表抓取10条,执行一次需要0.0269 sec,
SELECT *
FROM table_name AS r1
( SELECT ROUND( RAND( ) * ( SELECT MAX( id ) FROM table_name ) ) AS id2 ) AS r2
WHERE r1.id >= r2.id2
ORDER BY r1.id ASC
LIMIT 10