摘要: 在mysql中查询5条不重复的数据,使用以下:1 SELECT * FROM `table` ORDER BY RAND() LIMIT 5就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据。1 SELECT * 2 FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 3 WHERE t1.id >= t2.id 4 ORDER BY 阅读全文
posted @ 2013-04-16 21:29 jinphen 阅读(1230) 评论(1) 推荐(2)